问题 单项选择题

有以下程序: #include<stdio.h> #include<string.h> 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[i]=b.score[i]; } 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

解析: 本题考查的是结构体变量的单向值传递。题目中,把结构体变量中的数据作为一个整体传送给相应的形参,传递的是实参结构体变量中的值。函数体内对形参结构体变量中任何成员的操作,都不会影响对应实参中成员的值。

单项选择题
问答题 简答题