有下列程序:
#include<stdio.h>
struet ord
int x,y;dt[2]=1,2,3,4;
void main()
struct ord *p=dt;
printf("%d,",++p—>x);printf("%d,",++p—>y);
程序的运行结果是( )。
A.1,2
B.2,3
C.3,4
D.4,1
参考答案:B
解析: 在本题中结构体成员访问运算符—>的优先级高于++算术运算符,所以表达式++p>x的计算过程是首先取出结构体dt[0]的成员变量x的值1,然后再对其值加1,得到2输出。表达式++p—>y的计算过程是首先取出结构体dt[0]的成员变量y的值2,然后再对其值加1,得到3输出。