A-A+

有以下程序 structA{ inta;charb[10]; doublec;}; void

2022-08-12 19:09:22 问答库 阅读 197 次

问题详情

有以下程序 structA{ inta;charb[10]; doublec;}; voidf(structAt); main(){ structAa。{1001,ZhangDa”,1098.0); ffa); printf(”%d,%s,%6.1fn”,a.a,a.b,a.c);} voidf(structAt){ t.a=1002; strcpy(t.b,”ChangRong”); t.c=1202.0;} 程序运行后的输出结果是
A.1002,ChangRong,1202.0
B.1001,ZhangDa,1098.0
C.1001,ChangRong,1098.0
D.1002,ZhangDa,1202.0

请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
在主函数中定义结构体A的变量a,并对其赋初值,再调用函数f(a),形参t接收实参的数据,在函数f(t)中对结构体变量t的各个成员进行了赋值操作,需要注意的,形参和实参之间是数据传递,因此对形参的操作对实参不产生影响,因此在主函数输出仍然输出变量a的数据

考点:程序