问题库
search
首页 计算机 驾照考试 关于

有以下程序: # include <stdio.h> 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,4
  • B.1,2
  • C.1,4
  • D.2,3
浏览477
参考答案:B
解析:

【解析】结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。所以选择B)。