C语言中 int i=5; (++i)+++i的值为什么和(++i)+(++i)的值不同?

2025-05-21 16:54:04
推荐回答(1个)
回答(1):

你要看看优先度是什么;
对于第一个来说,首先执行第一个(++i),先自增再使用,然后此时i变为了6,再然后i会再自增一次,也就是说第一个式子其实就是6+7
对于第二个,两个同优先级,所以执行应该是不分先后的,第二个式子就是6+6.
我的理解就是这样子,不同的编译器在这种语法的细节上也会有些许不同。