问题 单项选择题

以下程序运行后的输出结果是 #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。

单项选择题
单项选择题