#include<stdio.h> struct ord { int x,y;} dt[2]={1,2,3,4}; main() {struct ord *p=dt; printf("%d,",++

2025-02-21 22:47:36
推荐回答(3个)
回答1:

取值运算的优先级高于++
++p->x
++p->y
的含义等同于
++(p->x)
++(p->y)
前缀++,--与后缀++,--的区别在于
++i时,i=i+1,既i自增之后使用i
而i++表示,i=i,i=i+1既先使用i,然后i自增1

回答2:

++p->x表示把p->x的值加1,如果在表达式里,意思是先把p->x的值加1,再计算表达式的值。
这里的意思是先把p->x的值加1,再printf.

回答3:

首先搞清楚优先级 ->的优先级大于++
->是间接引用结构体成员
++p->x 即(p->x)=(p->x)+1 原来p->x=1,所以现在是2了