若有以下程序 #include typedefstructstu{ charname[10],gender; intscore; }STU; voidf(STUa,STUB) {b=a; printf("%s,%c,%d,",b.name,b.gender

admin2015-07-31  24

问题 若有以下程序
#include
typedefstructstu{
charname[10],gender;
intscore;
}STU;
voidf(STUa,STUB)
{b=a;
printf("%s,%c,%d,",b.name,b.gender,b.score);
}
main()
{STUa={"Zhao",’m’,290},b={"Qian",’f’,350};
f(a,b);
printf("%s,%c,%d\n",b.name,b.gender,b.score);
}
则程序的输出结果是

选项 A、Qian,f,350,Qian,f,350
B、Zhao,m,290, Zhao,m,290
C、Zhao,m,290,Qian,f,350
D、Zhao,m,290,Zhao,f,350

答案C

解析 本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会首先输出被重新复制的b值,且与a相同,而执行完f函数后,b值并不会改变,所以还是维持原值,选项C正确。
转载请注明原文地址:https://kaotiyun.com/show/omDp777K
0

最新回复(0)