在调试和发布模式之间切换时,此代码在MSVS 2012,Windows 7中生成不同的值:
#include <iostream>
using namespace std;
int A[20000];
int main() {
int shift = 0;
int Period = 30;
//Fill array
for(int i = 0; i < 20000; i++) {
A[i] = i * 2 + 123;
}
int sumTotal = 0;
int sum = 0;
for(int bars = Period + 10; bars < 1000; bars++) {
sum = 0;
for(int i = 0; i< Period; i++) {
sum += A[bars - i];
}
sumTotal += sum;
} …Run Code Online (Sandbox Code Playgroud) c++ visual-c++ compiler-bug visual-studio-2012 visual-studio-2013