c++ - 取值后程序停止
问题描述
我正在为素数编写此代码;从用户那里获取输入后,程序不会做任何进一步的计算。
输入/输出的一个例子是:
Enter the Number You Want to Check::67
输入后,程序不会显示数字是否为素数。
这是代码:
int main() {
int i, n;
cout << "Enter the Number You Want to Check::";
cin >> n;
if (n == 1) {
cout << "Smallest Prime number is 2;" << endl;
}
for (i == 2; i < n; i++) {
if (n % i == 0) {
cout << "No is not prime";
break;
}
}
if (n == i) {
cout << "Number is prime";
}
return 0;
}
解决方案
int i, n;
...
for(i==2;i<n;i++)
那是假的。您从未初始化i
.
我怀疑你想写
int i, n;
...
for(i=2;i<n;i++)
那是; 将for
循环的第一项赋值给 ,i
而不是与 进行比较2
。
推荐阅读
- scala - Spark : 我如何找到一起乘坐超过 3 个航班的乘客
- python - Pytest 捕获某个测试的标准输出
- discord - 我如何使用 Discord 机器人踢人?
- javascript - 如何在 ReactJS Hooks 中将数据添加到对象的末尾
- css - 我应该为现有的 HTML 颜色名称使用 CSS 变量吗
- python - 如何在一张图上叠加每天的时间序列
- sql - SQL 查询 - 使用 ALL 和 '=' 运算符未获得预期结果
- python - 抓取许多页面但 URL 相同的动态 DataTable
- javascript - 如何在 mongo 集合中一次性查找、迭代和更新文档?
- c# - 使用 .NET 5 的问题