问题 单项选择题

有以下程序:
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.0f\n", s[1]. name, s[1]. num, s[1]. TotalScore);

程序运行后的输出结果是______。

A.SunDan 20044 580

B.Penghua 20045 537

C.LiSiGUO 20042 580

D.SunDan 20041 703

答案

参考答案:B

解析: f函数用了显式传地址的方式,因此主函数中的s值发生了变化。

配伍题 B型题
单项选择题