首页 > 解决方案 > 奇怪的数字随机出现在输出中。(C++)

问题描述

我的代码:

#include <iostream>
using namespace std;
int main(){
int a[500];
int value;
for(int i=0;i<500;i++){
    cout<<"Please Enter a value (0-100):";
    cin>>value;
    if (value>=0 && value<=100){
        a[i]=value;
    }
    else if(value<0){
        break;
        }
    }
    for(int i=0;i<5;i++){
        cout<<a[i]<<" ";
    }

}

输出样本:

Please Enter a value (0-100):10

Please Enter a value (0-100):12

Please Enter a value (0-100):5

Please Enter a value (0-100):-5

10 12 5 0 786432

--------------------------------
Process exited after 7.597 seconds with return value 0
Press any key to continue . . .

数组具有未给出的值。我不知道它们是如何定义的。请帮我解决这个问题。

注意:对不起我的错误。我还是个新手。

标签: c++randomoutputcout

解决方案


else if(value<0)

当此条件为真时,您会留下一个未初始化的值,a[i]这就是您所看到的。它也可以做一些完全不同的事情,因为读取未初始化的值会使您的程序具有未定义的行为。

用零初始化你的数组:int a[500]{};


推荐阅读