VC2010里边的Bug
VC2010里面的Bug?一段小程序:#includeiostreamusing namespace stdint main(){for(int i0i50++i){}
VC2010里面的Bug?
一段小程序:
#include<iostream>
using namespace std;
int main()
{
for(int i=0;i<50;++i)
{
}
int i=0;
cout<<i<<endl;
system("pause");
}
在cout处设了个断点,监视变量i,发现值为50
。。。。。害得我调试半天。。。
其他版本的VC如何? vc?bug
[解决办法]vs2010
[解决办法]VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
[解决办法]打开局部变量窗口,你可以发现会有两个i值,一个是50,另一个是0的。
将鼠标移动到变量上看到的值实际上是你第一次定义的i的值,也就是50的那个。