问题
单项选择题
有以下程序 typedef struct{ int b,p;}A;void f(A C)/* 注意:c是结构变量名 */{int j;c. b +=1;c.p+=2;}main(){int i;A a={1,2};f(a);printf("%d,%d\n",a.b,ap);}程序运行后的输出结果是【 】。
A.2,3
B.2,4
C.1,4
D.1,2
答案
参考答案:D
解析:本题考查的是函数调用时的数据传递问题。因为在调用函数f()时只是进行的值传递,即单向传递,函数的调用及对形参的处理过程并不会引起实参数值的变化。故本题答案为D)。