问题 单项选择题

有下列程序:
#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,",++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输出。

单项选择题
问答题 论述题