像要允许用户输入任意个数(最多不超过20)的整数,用空格分隔,再保存进一个数组内。于是百度了一种方法
#include
using namespace std;
int missile[20];
int main()
{
int height, index = 0;
while (cin.get() != '\n') {
if (index < 20) {
cin >> height;
cout << "录入" << height << endl; //输入这句也根本没有被执行,有跟没有一样输出结果
missile[index] = height;
index++;
}
else {
break;
}
}
for(int i:missile){
if (i != 0) {
cout << i << endl;
}
}
}
cin.get()会读取掉一个字符,而且i!=0才输出?
修改如下:
#include <iostream>
using namespace std;
int missile[20];
int main()
{
int height, index = 0;
do
{
cin>>height;
if (index < 20) {
cout << "录入" << height << endl; //输入这句也根本没有被执行,有跟没有一样输出结果
missile[index] = height;
index++;
}
else {
break;
}
}while (cin.get() != '\n') ;
for(int i=0;i<index;i++){
cout << missile[i] << endl;
}
return 0;
}
兄弟,你用visual studio打个断点看下,或者清理解决方案重新build下,感觉你的现象和代码不太匹配呢
我这里就是跟你说的一样,1没有了。
你的代码在我这的运行结果,你重新build看看