【发布时间】:2020-05-25 07:29:24
【问题描述】:
当我用输入编译代码时,它工作正常。但是当我想用用户输入运行它时,它只是不接受输入。它不会给出任何错误。
// kefaa and first steps
// 2 2 1 3 4 1
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, a[n], counter=0, maxIncr=0;
cin >> n;
cin.sync();
for(int i = 0; i < n; ++i){
cin >> a[i];
}
for(int i=0; i < n-1; ++i){
if (a[i] <= a[i+1]){
counter += 1;
if(maxIncr<counter)
maxIncr=counter;
}else{
counter=1;
}
}
cout << maxIncr;
return 0;
}
【问题讨论】:
-
int a[n]不是标准 C++ 并且调用 未定义的行为,因为您还没有初始化n -
最好不要使用cin.sync