有以下程序 #include #include typedef struct{ char name[9]; char sex; float score[2]; }STU; void f(STU a) { STU b={"

admin2010-12-10  25

问题 有以下程序
#include  
#include  
typedef  struct{  char name[9];  char sex;  float score[2];  }STU;
void  f(STU  a)
{  STU  b={"Zhao",′m′,850,900};    int  i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++)  a.score=b.score;
}
main()
{  STU  c={"Qian",′f′,95.0,92.0};
f(c);
printf("%s,%c,%2.0f,%2.0f\n",c.name,c.sex,c.score[0],c.score[1]);
}
程序的运行结果是

选项 A、Qian,f,95,92
B、Qian,m,85,90
C、Zhao,f,95,92
D、Zhao,m,85,90

答案A

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

最新回复(0)