首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

[讨论]一个有趣的现象j=0 j++后,j居然等于3,有人知道原因吗?该怎么解决

2012-04-06 
[讨论]一个有趣的现象j0 j++后,j居然等于3,有人知道原因吗?代码很简单如下,用的是VC6 sp6:C/C++ code#inc

[讨论]一个有趣的现象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很正常!
[解决办法]
我测试了你这个程序,没有任何问题啊!

热点排行