单选题
有以下程序:
#include <stdio.h>
#include <string.h>
typedef struct stu {
char name[10];
char gender;
int score;
} STU;
void f(STU *c)
{ strcpy(c->name,"Qian");
c->gende r= "f";
e->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
【答案解析】[解析] 本题定义了一个结构变量struct stu,并且命名为STU,STU结构中包含3个数据。main()函数中,首先定义两个结构体STU类型的变量a,b,并对a完成初始化,然后将a赋值给b,使得结构体a,b的值都是{"Zhao","m",290},再调用f()函数。f()函数的功能是将形参结构体指针c指向的结构体赋值为{"Qian","f",350},由于形参是指针,c指向的结构体就是b,所以实参b的值被修改为{"Qian","f",350},而a的值不变,故答案为A选项。