A-A+

有以下程序 include<stdio.h> include<string_h> struc

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

问题详情

有以下程序 include<stdio.h> include<string_h> structA {inta;charb[10];doublec;); voidf(structAt); main() {structAa={1001,ZhangDa”,1098.0}; f(a);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,ChangRong,1098.0
C.1001,ZhangDa,1098.0
D.1002,ZhangDa,1202.0

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

参考答案

正确答案:C
本题主要考查是的函数调用时参数之间的传递问题。在C语言中参数之间的传递是传值,也就是把实参的值复制一份传递给形参,而实参的值不发生变化。所以对于本题来说,在主函数中执行f(a),把结构体变量a的值复制一份传递给形参变量t,而实参变量a的值保持不变。

考点:程序