A-A+

以下程序的输出结果是()。 #include<stdio.h> struct st { in

2022-08-06 03:50:13 问答库 阅读 175 次

问题详情

以下程序的输出结果是()。 #include<stdio.h> struct st { int x; int *y;} *p; int dt[4] ={ 10,20,30,40 }; struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]}; main() { p=aa; printf("%dn",++(p->x)); }
A.10
B.11
C.51
D.60请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:由于数组名保存了数组的首地址,即数组中第一个元素的地址,执行p=aa;后,p指向aa[0],p->x相当于aa[0].x,也就是50,经过自增运算后,显示结果为51。

考点:程序