有下列程序: #include struct ord {int x,y;}dt[2]={1,2,3,4); void main() { struct ord*p=dt; printf("%d,",++p->x);prin

admin2021-09-05  18

问题 有下列程序:
  #include  
  struct 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输出。
转载请注明原文地址:https://jikaoti.com/ti/pRh0FFFM
0

随机试题
最新回复(0)