问题
单项选择题
以下程序的输出结果是( )。
#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("%d\n",++(p->x));
A.10
B.11
C.51
D.60
答案
参考答案:C
解析: 由于数组名保存了数组的首地址,即数组中第一个元素的地址,执行p=aa;后,p指向aa[0],p->x相当于aa[0].x,也就是50,经过自增运算后,显示结果为51。