提问人:Subham Bhuyan 提问时间:1/10/2023 最后编辑:DragonthoughtsSubham Bhuyan 更新时间:1/10/2023 访问量:43
前缀和后缀运算符
Prefix and postfix operator
问:
#include <stdio.h>
int main()
{
int x=5, y;
y=x+++x;
printf("%d", x);
printf("%d", y);
}
我发现后缀增量的优先级高于前缀。
因此,但是当我执行程序时,如果我理解了任何错误,请纠正我y=x+++x;
y=(x++)+x;
y=10
x=6
:y=11,x=6
答:
0赞
Dragonthoughts
1/10/2023
#1
把它拆分起来,记住还有“左右规则” 这是一个简单的规则,允许您解释任何声明。它的运行方式如下:
从最里面的括号开始阅读声明,向右走,然后向左走。
因此,在没有括号的情况下解析从右到左:
x=5
,因此使用 prefix 运算符会递增赋值 preed。++x
y
然后对等价于(即y
5+6
x+(++x)
)
x
是递增的,所以x=6
评论
0赞
Dragonthoughts
1/10/2023
这假定您使用的是 C 或 C++ 语言。
评论