对于下列程序,正确的是() 。
void f(int *p) {*p = 5; } int main(void) {int a, *p;a = 10;p = &a;f(p);printf(“%d”, (*p)++);return 0; }
A.5
B.6
C.10
D.11
答:A
解析:这里考察当是指针作为函数的参数。这里将 p 作为实参,传递给函数的形参 p,就表示 p 也指向变量 a 的地址。在函数中操作指针 p,修改 a 的值为 5。当函数结束后,打印(*p)++,就是指针 p 对应的变量 x++,5。