问题 单项选择题

有以下程序:
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]的成员变量。

单项选择题
问答题 简答题