我正在跳过头文件和 void main...
代码 1:-
int a = 5 , c ;
c = a++ + ++a + a++;
a = 5;
printf("%d %d",a++ + ++a + a++ , c);
___________________________________________________
输出:-
TCC:-(是的 Borlands 3.0 或任何被称为 DOS-blue 环境的版本)
19 18
19 = 如何?5+7+7 如果是(肯定与 GCC 输出相比),但为什么不是 18?
18 = 6+6+6?(c 赋值代码等价于
a++;
c=a+a+a;
a++;
a++;) 对吧?
为什么是 19 18 ?完全相同的代码有两个不同的值?
海湾合作委员会:-
19 19
19 都是 5+7+7 吗?说得通..
现在,代码 2:-
int a = 5 , c ;
c = ++a + ++a + ++a;
a = 5;
printf("%d %d",++a + ++a + ++a, c);
_________________________________________________
TCC:-
24 24
24 具有相同的逻辑 8+8+8(c 赋值代码等价于
a++;
a++;
a++;
c=a+a+a;
) 和 a = 8 ;
海湾合作委员会:-
22 22
22?如何 ?按正常逻辑 6 + 7 + 8 = 21 但输出 22 ?
然后 6+8+8 如果是的话怎么办?