读书人

请各位解释下

发布时间: 2012-03-11 18:15:39 作者: rapoo

请各位大虾解释下

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对应的汇编不就啥都明白了吗。

读书人网 >C++

热点推荐