考虑以下三个C函数:
[PI] int * g (void)
{
int x= 10;
return (&x);
}
[P2] int * g (void)
{
int * px;
*px= 10;
return px;
}
[P3] int *g (void)
{
int *px;
px = (int *) malloc (sizeof(int));
*px= 10;
return px;
}
以上三个函数中的哪个可能会导致指针出现问题? (GATE 2001)
(一种)
(B)
(C)
(D)
(A)仅P3
(B)仅P1和P3
(C)仅P1和P2
(D) P1,P2和P3答案: (C)
说明:参见http://quiz.geeksforgeeks.org/c-dynamic-memory-allocation-question-2/
这个问题的测验