c++ - Why does this code output before even reading input?
问题描述
My code below outputs 0, the value of max_explode, before even reading in my input. Why is this happening?
#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;
}
解决方案
您在循环中读取输入:
for (int i = 0; i < N; i++)
{
int cow;
cin >> cow;
arr.push_back(cow);
}
但是,N
从未显式初始化。由于它是一个全局变量,它会自动初始化为0
,并且您的循环永远不会运行。
推荐阅读
- python - 如何使用 on_message 禁止作者?
- python - 如何生成包含从 C 对象中选择的 N 个元素的详尽序列列表?
- php - PHP插入,看不到值
- progress - 有人可以帮我理解彼得森的解决方案如何满足无饥饿、进步和互斥条件吗?
- ios - 为什么使用 UIBezierPath 无法正确绘制“饼片”中的斜线?
- javascript - 我需要在我的数据库函数响应中返回一个唯一的用户 ID,我该怎么做
- javascript - 在 Typescript 接收函数中使用 Array.from 未定义错误
- maven - 任何人都可以找出为什么我仍然收到此错误,“创建名称为 'dataSource' 的 bean 时出错”
- python - 如何让 VS Code 运行“python”而不是“&C:/Users/[username]/AppData/Local/Programs/Python/Python38/python.exe”?
- javascript - 在 history.listen 的 useEffect 中使用 useState 钩子