读书人

[讨论]一个有趣的现象j=0 j++后j居然

发布时间: 2012-04-06 12:22:24 作者: rapoo

[讨论]一个有趣的现象j=0 j++后,j居然等于3,有人知道原因吗?
代码很简单如下,用的是VC6 sp6:

C/C++ code
#include "stdio.h"int strange(){    char tmp[1024] = {0};    int j = 0;        j++;    printf("inner value: %d\n",j);    return j;}int main(int argc, char **argv){    printf("outter value: %d\n", strange());           return 0;}


编译后的运行效果也OK,问题在于单步调试,如果在第6行打个断点,一步步跟踪,会发现j++后j的值为3了,全部单步下来的截图给大家看下,有人知道为什么吗?



[解决办法]
不要用VC6。
[解决办法]
没有VC6的表示vs2010很正常!
[解决办法]
我测试了你这个程序,没有任何问题啊!

读书人网 >C语言

热点推荐