若有以下程序 typedefstructstu{charname[10],gender;intscore;)STU; voidf(char*P){strcpy(P,’’Qian’’);} main( ){ STUa={’’Zhao’’,’m’,290

admin2020-11-23  23

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

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

答案C

解析 主函数中结构体变量定义同时赋初值。执行b=a;语句后,b的数据和a的数据相同,调用函数f(b-name),形参指针p接收实参b.name的地址,此时p和b.name指向同一个存储空间,流程转到f执行,p指向的存储空间存放字符串’’oian’’,流程结束返回主函数。主函数中变量b的其他成员存放数据。因此a的数据{’’zhao’’,’m’,290},b的数据为{’’QJan’’,’f’,350}。注意本题结构体STU类型变量a和b中的name成员为数组,不是指针,它具有白己的存储空间。
转载请注明原文地址:https://kaotiyun.com/show/Ju3p777K
0

相关试题推荐
最新回复(0)