我在调试vs2013 / 2015/2008中的某些代码时遇到了一些问题。
#include <iostream>
using namespace std;
int main()
{
int mode = 1;
int size = 1;
if (mode == 0)
{
cout << "mode = 0" << endl;
}
else
{
if (mode == 1)
{
if (size > 0)
{
cout << "mode=1,size=1" << endl; //in debug mode will execute this sentence
}
else
return 0; //however,when I Step in (F10),this will also be executed but have no influence.But When I insert a breakpoint in there and press F5, will not break in there
}
else if (mode == 2)
{
if (size > 0)
{
cout << "mode=2,size=1" << endl;
}
else
return 0;
}
}
return 1;}
那么,如何解释这种现象呢?有什么问题吗?我该如何解决?
答案 0 :(得分:0)
这是调试器在VS 2015中的工作方式。忽略它。
return 0;
未执行,即使它看起来像。奇怪的行为,我也对此感到惊讶。
他们应该让箭头转到else
语句,而不是之后的第一行,但由于某种原因他们没有。
请忽略它。如果您也想要提出功能请求:)