请各位大虾解释下
- C/C++ code
#include<stdio.h>int main(){ int i=3,k; k=(i++)+(++i)+(++i); printf("%d %d",k,i); return 0;}输出结果为什么是13 6呢?
[解决办法]
不要纠结于这种题目,与编译器设计有关
[解决办法]
写这样的代码 会被同事骂的
[解决办法]
关于++和--的问题再也不要去想了,都讨论了N次了,实际中谁也不会去写这样的代码
[解决办法]
帮顶。
[解决办法]
没意义的细节,不要管了
[解决办法]
C-Free 3.5输出为:13 6
VS2005 输出为:15 6
因此,1楼正解。
[解决办法]
又见这个问题,难道是**贴再现?
标准里的未定义行为,依赖于具体编译器实现
[解决办法]
单步调试和设断点调试是程序员必须掌握的技能之一。
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。