问题 单项选择题

有以下程序:
#include <stdio.h>
typedef structint 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()函数对传入参数的修改不会影响到外面的实参,即a的内容还是{1, 2},故本题应该选择D)。

单项选择题
单项选择题