A-A+

有以下程序 #include #include typ

2022-08-05 20:03:36 问答库 阅读 171 次

问题详情

有以下程序
#include<stdio.h>
#include<siring.h>
typedef struct{char name[9];char sex;int score [2];}STU;
STU f(STU a)
{ STU b={"Zhao","m",85,90);
int i;
strcpy(a.name,b.name);
a.sex=b.sex:
for(i=0;i<2;i++) a.score [i]=b.score[i];
return a;
}
main()
STU c={"Qian","f",95,92},d;
d=f(c):
printf("%s,%c,%d,%d,",d.name,d.sex,d.score[0],d.score[1]);
prinff("%s,%c,%d,%d\n",c.name,c.sex,c.score[0],c.score[1]);
}
程序运行后的输出结果是
A.Zhao,m,85,90,Qian,f,95,92
B.Zhao,m,85,90,Zhao,m,85,90
C.Qian,f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zhao,m,85,90请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:本题考察的是结构体知识和函数调用的参数传递知识点。通过函数调用把主函数中c变量的所有数据传给了子函数中的形参a,在子函数中将b中的数据均复制到了a中,所以返回a的值给d,使得d的值为zhao,m,85,90。但是主函数中c变量的值没有任何变化,所以选择A)。

考点:程序