VS2010 启动调试异常,逐过程却正常,真的搞不懂这雷人的问题。

#include
#include
using namespace std;
void main()
{
int i,y,x;
i=0;x=0;y=3;
while(i<91)
{

    printf("原码数字\n");

while(x<3)
    {
         x++;
     printf("加码数字\n");
    }
    x=0;
    i++;
}
system("PAUSE");//暂YY停??

}

启动调试时输出时显示:
加码数字
加码数字
加码数字
原码数字
逐过程时输出时显示:
原码数字
加码数字
加码数字

加码数字

这个问题真的头晕啊,我想遇到过这个问题的人一定超少,不知道有没有人能帮解答一下

i 没有初始化,所以程序的结果不确定。单步调试和直接运行初始的内存不同,结果不同也很正常。

i=0;我不是以经初始化了吗?这个是逻辑错误吧,跟初始化关系?

只要是大于74都不行,也许是我拿小刀杀牛了。

试了无数次,目前找到的答案是while(i<91)这个语句有问题,只要把91 改为74一切正常。这又是为什么呢?

要不然就是把x<3改成X<1也能正常运行,这下找到一点点出路了

不是什么累人的问题,就是单步调试一下,马上就看出来的

单步调试显示正常,调试是看不出问题的,这个可能是和控制台的一些机制有问题,代码超简单,又是最基础的控制台,所以说问题不简单