有以下程序    #include <stdio.h>    struct st    { int x,y;} data[2]={1,10,2,20};    main()    { struct st *p=data;         printf("%

admin2009-08-25  13

问题 有以下程序    #include <stdio.h>    struct st    { int x,y;} data[2]={1,10,2,20};    main()    { struct st *p=data;         printf("%d,",p->y);  printf("%d\n",(++p)->x);    }  程序的运行结果是______。

选项 A、10,1
B、20,1
C、10,2
D、20,2

答案C

解析 本题定义了一个包含两个元素(data[0]、data[1])的结构体数组data,其中data[0].x=1;data[0].y=10;data[1].x=2; data[1].y=20。在主函数中,定义了一个指向结构体数组的结构体指针变量p,使得p指向结构体数组的首地址,所以p->y访问的是第一个鲒构体数组元素的第二个值,即data[0].y;(++p)->x访问的是第二个结构体数组元素的第一个值,即 data[1].x,所以程序输出结果为10,2。
转载请注明原文地址:https://kaotiyun.com/show/7nWp777K
0

相关试题推荐
随机试题
最新回复(0)