以下程序的输出结果是( )。 #include<stdio.h> struct st { int x; int *y;} *p; int dt[4] ={ 10,20,30,40 }; struct

admin2009-01-15  26

问题 以下程序的输出结果是(    )。    #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

答案4

解析 由于数组名保存了数组的首地址,即数组中第一个元素的地址,执行p=aa;后,p指向aa[0],p->x相当于aa[0].x,也就是50,经过自增运算后,显示结果为51。
转载请注明原文地址:https://jikaoti.com/ti/DFS0FFFM
0

最新回复(0)