下面的代码在读入我的输入之前就输出0,即max_explode的值。为什么会这样?
#include <iostream>
#include <vector>
#include <algorithm>
#define MAX 100
using namespace std;
int N,cnt=0;
vector<int> arr;
bool seen[MAX+1];
int main()
{
for (int i = 0; i < N; i++) seen[i]=false;
int max_explode=0;
for (int i = 0; i < N; i++)
{
int cow;
cin >> cow;
arr.push_back(cow);
}
sort(arr.begin(),arr.end());
cout << max_explode << "\n";
return 0;
}
答案 0 :(得分:1)
您循环读取输入内容:
for (int i = 0; i < N; i++)
{
int cow;
cin >> cow;
arr.push_back(cow);
}
但是,N
从未显式初始化。由于它是全局变量,因此会自动初始化为0
,并且循环永远不会运行。
答案 1 :(得分:0)
在您的第7行中有一个小问题需要具体说明。您已经定义了变量N,但尚未为其初始化值。