有以下程序 #include #include struct A { int a; char b[10]; double c;}; void f(struct A t); main() { struct A a={1001,"ZhangDa",1098

admin2015-07-28  15

问题 有以下程序
#include
#include
struct A
{ int a; char b[10]; double c;};
void f(struct A t);
main()
{ struct A a={1001,"ZhangDa",1098.0};
f(a); printf("%d,%s,%6.1f\n", a.a,a.b,a.c);
}
void f(struct A t)
{ t.a=1002; strcpy(t.b,"ChangRong"); t.c=1202.0;}
程序运行后的输出结果是( )。

选项 A、1001,ZhangDa,1098.0
B、1002,ChangRong,1202.0
C、1001,ChangRong,1098.0
D、1002,ZhangDa,1202.0

答案A

解析 函数f()传递的参数为结构体变量,也是一种值传参,形参的变化不能影响到实参,所以调用函数f(a)对a中的数据没有影响。所以输出结果为选项A)。
转载请注明原文地址:https://kaotiyun.com/show/RKJp777K
0

最新回复(0)