【发布时间】:2016-09-25 13:25:23
【问题描述】:
我所要做的就是:
- 用户必须输入 20 个数字。
- 我应该从数组中找到小于用户输入的最后一个数字(20 个数字)的数字
例子:
用户输入:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,4
输出应该是:
1,2,3
据我所知,我的输出是正确的。但是在 1,2,3 之后很多 0 进来了。
#include <iostream>
using namespace std;
int i,skaitlis,sk2,x;
int masivs[19];
int main() {
for ( i=0; i<=19; i++ )
{
cin >> masivs[i];
skaitlis = masivs[19];
}
for (i=0;i < sizeof masivs; i++){
if ( masivs[i]<skaitlis){
cout << masivs[i] <<endl;
}
}
}
【问题讨论】:
-
ì<=19表示您访问数组外部的元素 19:未定义的行为。 -
使用all warnings switched on 编译。编译器已经告诉你出了什么问题。