下面的程序打印什么?
#include
void f(int *p, int *q)
{
p = q;
*p = 2;
}
int i = 0, j = 1;
int main()
{
f(&i, &j);
printf("%d %d \n", i, j);
getchar();
return 0;
}
(一) 2 2
(乙) 2 1
(C) 0 1
(D) 0 2答案: (D)
说明:有关说明,请参阅下面的评论。
/* p points to i and q points to j */
void f(int *p, int *q)
{
p = q; /* p also points to j now */
*p = 2; /* Value of j is changed to 2 now */
}
这个问题的测验