c++ - 尽管命令正确,但程序挂起并进入无限循环
问题描述
我对这段代码有疑问。当我运行程序时,如果我输入一个小于 11 位数字的数字,程序会继续运行而没有任何问题,但是当我输入一个 11 位数字时,我会无限期地遇到“输入数字”的消息。我起床,我必须关闭程序。问题是什么?
while (num != -1) {
cout << "ENTER A NUMBER" << endl;
cin >> num;
if (num%2==0) {
counter++;
}
}
cout << " number of even numbers are " << counter;
_getch();
return 0;
解决方案
我假设 num 是 int 并且 int 限制是 2,147,483,647 您的数字可能更大,您可以将 num 定义为 long 例如或 long long。
推荐阅读
- swift - 如何获取 JSON 响应并通过它进行解析
- python - 我无法让我的播放器跳转,即使代码与工作示例非常相似
- reactjs - 抽屉屏幕内的全屏地图导致抽屉项目按下滞后
- wolfram-mathematica - 使用单位三角形制作面积为 1 的三角形
- python-3.x - 如何使 LED 闪烁并同时更改形状的填充颜色?
- c++ - 未检测到空指针
- java - 如何在 JavaFX [CSS] 中更改选定 RadioButton 的颜色?
- python - Webhook 端点 - 处理许多并发请求
- c# - 如何查询PNG的位深度?
- javascript - 用数字名称调用 JSON 对象?