注册 登录
编程论坛 C++教室

震惊!DEV C++5.11的BUG发现!

Tronic 发布于 2017-07-24 15:30, 1915 次点击
标题不要太在意。
略去代码的开头结尾

int days,period=1,gold[10000]={0},cic1,cic2;
cin>>days;
cout<<days;

上述代码,输入啥输出啥,没毛病。
但是!

int days,period=1,gold[10000]={0},cic1,cic2;
cin>>days;
for(cic1=1;cic1<=10000;cic1++)
{
    gold[cic1]=cic1;
}
cout<<days;

这玩意儿输入啥都输出10000
WTF?中间插进去那个循环体跟days一点毛关系都没有啊
我用的是C++5.11的IDE,选择TDM-GCC 4.9.2 32-bit release编译器
求诸位大神答疑



另附代码开头结尾:
#include <iostream>
using namespace std;
int main()
{

return 0;
}
2 回复
#2
yangfrancis2017-07-24 18:08
解决不了就换编译器吧。VC6跑出来不是10000。
#3
rjsp2017-07-24 20:42
数组越界
for(cic1=1;cic1<=10000;cic1++)
改为
for(cic1=0;cic1<10000;++cic1)
1