x)); printf("%d\n",++(p-" />有以下程序 #include struct ord { int x,y; } dt[2]={1,2,3,4}; main() { struct ord *p=dt; printf("%d,",++(p->x)); printf("%d\n",++(p-

有以下程序 #include struct ord { int x,y; } dt[2]={1,2,3,4}; main() { struct ord *p=dt; printf("%d,",++(p->x)); printf("%d\n",++(p-

admin2015-07-28  32

问题 有以下程序
#include
struct ord
{ int x,y; } dt[2]={1,2,3,4};
main()
{
struct ord *p=dt;
printf("%d,",++(p->x));
printf("%d\n",++(p->y));}
程序运行后的输出结果是( )。

选项 A、2,3
B、4,1
C、3,4
D、1,2

答案A

解析 语句"struct ord *p=dt;"定义了一个结构体指针并指向数组dt的首地址,所以p与dt、dt[0]等价,p->x值为1,p->y值为2,自加1后的值分别为2、3,所以输出结果为选项A)。
转载请注明原文地址:https://jikaoti.com/ti/HFn0FFFM
0

最新回复(0)