我已经经历了其他类似的问题,但试图了解我所面临的情况。
所以,这是我的两行 C 代码。
int i=0;
printf("%d %d %d %d %d",i++,i--,++i,--i,i);
这是我从 GCC 和 Turbo C 编译器获得的输出。
海合会
输出:
-1 0 0 0 0
涡轮增压 C
输出:
-1 0 0 -1 0
我分别用预增量运算符尝试了各种实验,两个编译器的工作方式相似,但是当我使用上述printf
语句时,输出不同。
我知道 Turbo C 是古老的编译器,现在已经过时且非标准,但仍然不知道上面的代码有什么问题。