A-A+
有下列程序: #include structord {intx y;}dt
问题详情
有下列程序: #include<stdi0.h> structord {intx,y;}dt[2]={1,2,3,4}; voidmain() {structord*p=dt; printf("%d,",++P->x);printf("%d,",++P ->y); } 程序的运行结果是().
A.1,2
B.2,3
C.3,4
D.4,1请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
B。【解析】在本题中结构体成员访问运算符->的优先级高于++算术运算符,所以表达式++p>x的计算过程是首先取出结构体dt[0]的成员变量X的值1,然后再对其值加1,得到2输出。表达式++p->y的计算过程是首先取出结构体dt[0]的成员变量y的值2,然后再对其值加1,得到3输出。