有以下程序: #include #include typedef struet{char name[9];char sex;int score[2];}STU; STU f(STU a) { STU b={"Zhao",’m’,85,90}; int i

admin2017-07-05  22

问题 有以下程序:
#include
#include
typedef struet{char name[9];char sex;int score[2];}STU;
STU f(STU a)
{  STU b={"Zhao",’m’,85,90};
int i;
strcpy((a)nltllle,(b)name);
(A)sex=(B)sex;
for(i=0;i<2;i++)
(A)score=(B)score
return a;
}
main()
{  STU c={"Qian",’f’,95,92},d;
d=f(c);
printf("%s,%c ,%d,%d,",(D)name,(D)sex,(D)seore[0],(D)score[1]);
printf("%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

解析 本题考查的是函数调用时的参数传递问题。程序在调用函数f时,传给函数f的参数只是结构变量c在栈中的一个拷贝,函数f所做所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量c的值。
转载请注明原文地址:https://kaotiyun.com/show/tdDp777K
0

最新回复(0)