C++代码在VSCode中使用Run Code运行的计算结果与DEBUG调试和在Visual Studio中的运行计算结果不一致?
代码如下:
#include <iostream>
#include <string>
#include <algorithm>
#include <math.h>
using namespace std;
int main()
{
string str = "AB";
reverse(str.begin(), str.end());
int num = 0;
for(int i=0; i<str.length(); i++)
{
cout<<"i="<<i<<", num="<<num<<", "<<(str[i] - 'A' + 1)<<", "<<pow(26, i)<<endl;
// int s = str[i] - 'A' + 1;
// int r = pow(26, i);
// num = num + s * r;
num = num + (str[i] - 'A' + 1) * pow(26, i);
cout<<num<<endl;
}
return 0;
}
运行结果及报错内容
VSCode中的结果输出为 num=27,是错误结果,如下图:
Visual Studio中的结果 输出为 num=28, 是正确的, 如下图:
VSCode中 DEBUG下的结果 输出也为 num=28, 也是正确的,其中DEBUG使用的是MinGW中的gdb调试器, 如下图: