问题
单项选择题
有以下程序 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,a.p); } 程序运行后的输出结果是
A.2,3
B.2,4
C.1,4
D.1,2
答案
参考答案:D
解析: 本题考查的是函数调用时的数据传递问题。因为在调用函数f()时只是进行的值传递,即单向传递,函数的调用及对形参的处理过程并不会引起实参数值的变化。故本题答案为D)。