问题
单项选择题
以下程序运行后的输出结果是 #include<stdio.h> 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.1,2
B.2,3
C.3,4
D.4,1
答案
参考答案:B
解析: 指针变量p指向dt[0],p->x即为dt[0].x,初值为1,因为“->”的优先级大于“++”,所以先计算p->x的值加1等于2,并输出;再计算p->y的值加1等于3,并输出。因此,输出结果为2,3。