问题
单项选择题
有以下程序:
struct STU
char name[10];int num;float TotalScore;;
void f(struct STU *p)
struct STU s[2]="SunDan",20044,550,"Penghua",20045,537,*q=s;
++p; ++q; *p=*q;
main()
struct STU s[3]="YangSan",20041,703,"LiSiGuo",20042,580;
f(s);
printf("%s%d% 3.Of\n",s[1].name,s[1].num,s[1].TotalScore);
程序运行后的输出结果是______。
A.SunDan 20044 550
B.Penghua 20045 537
C.LiSiGuo 20042 580
D.SunDan 20041 703
答案
参考答案:B
解析: 本题将结构体数组s的首地址传给了结构体指针变量p,并在函数f中改变了指针变量p所指向的第二个结构体中的成员变量,这一改变,电就改变了主函数中s[1]的成员变量。