【发布时间】:2018-12-14 02:21:50
【问题描述】:
我的代码在读取我的输入之前输出 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;
}
【问题讨论】:
-
N的值是多少?啊哈。如果您只是检查代码、打印出一些变量或只是使用调试器,这样的问题应该很容易解决。另外,我要强调的是,您不应该下意识地尝试将 StackOverflow 用于此类事情。如果代码行为异常,请对自己有点好奇。调试、检查,您就可以弄清楚这一点。 -
奇怪的是 g++ 4.9 (
-pedantic -Wall -Wextra) 完全错过了这一点。 -
@user4581301 没有什么可警告的。
N是一个全局变量,因此将被初始化为零。但当然,这使得该程序做的不多。还是你的意思是别的? -
在我的机器上按编码工作。