A-A+

有以下程序:#include <stdio.h>struet STU{ charname[1

2022-08-06 04:49:54 问答库 阅读 176 次

问题详情

有以下程序:#include <stdio.h>struet STU{ charname[10]; int num; float TotalSeore; };void f(struet STU * p){ struet 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.Ofn" ,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
解析:main函数将结构体数组,的首地址传递给了f函数的结构体指针变量P,并在函数f中改变了指针变量p所指向的第二个结构体中的成员变量,这也就是改变了main函数中s[1]的成员度量,故程序输出的值为Penghua20045537。

考点:程序