c++ - 奇怪的数字随机出现在输出中。(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 . . .
数组具有未给出的值。我不知道它们是如何定义的。请帮我解决这个问题。
注意:对不起我的错误。我还是个新手。
解决方案
else if(value<0)
当此条件为真时,您会留下一个未初始化的值,a[i]
这就是您所看到的。它也可以做一些完全不同的事情,因为读取未初始化的值会使您的程序具有未定义的行为。
用零初始化你的数组:int a[500]{};
推荐阅读
- python - 我没有python,但我有python3
- asp.net-core - 将声明从 WebApp 传递到 API
- javascript - Babel:模块解析失败(可能是由于导入元)
- java - 返回时将 JsonObject 解构为 GraphQL 类型
- python - 如何在 Django 缓存数据库中存储变量
- ios - 如何创建一个返回多次发射的可观察对象的函数?
- javascript - node.js 上的 Heroku 应用程序无法连接到 Heroku Postgre
- typescript - 使用带有泛型的 reduceRight 键入管道 compose 函数
- python - 清除根小部件的所有小部件
- javascript - Nodejs 错误:监听 EADDRINUSE:地址已在使用中:8080