#include <stdio.h>
int main()
{
int x = 4;
int y = (++x) + (++x) + (++x);
printf("x = %d, y = %d\n", x, y); //x = 7, y = 19
x = 4;
y = 0;
y = (++x) + (++x);
printf("x = %d, y = %d", x, y); //x = 6, y = 12
return 0;
}
这两个计算方法为什么不一样
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
於黾 2023-03-27 15:07关注不同编译器优先级不一样
有的先算3个++x,再算x+x+x
而有的会先算2个++x,然后x+x,再++x,再和剩下的一个相加本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用