有以下程序 #include #include typedef struct stu { char name[10]; char gender; int score; } STU; void f(STU c) { strcpy(c.name, "Qi

admin2015-07-28  20

问题 有以下程序
#include
#include
typedef struct stu {
char name[10];
char gender;
int score;
} STU;
void f(STU c)
{ strcpy(c.name, "Qian");
c.gender = ’f’;
c.score = 350;
}
main()
{ STU a={"Zhao", ’m’, 290}, b;
b=a;
f(b);
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、Zhao,m,290,Qian,m,290
C、Zhao,m,290,Qian,m,350
D、Zhao,m,290,Qian,f,350

答案A

解析 结构体变量作为函数参数为值传递,形参变量的变化不能影响实参变量的变化,所以函数f(b)调用结束后,b的值没有改变,和a一致,所以输出结果为选项A)。
转载请注明原文地址:https://kaotiyun.com/show/8KJp777K
0

最新回复(0)