c++ - 取值后程序停止

标签 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 的比较。

关于c++ - 取值后程序停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57061785/

相关文章:

c++ - boost::multiprecision:如何将 mpz_int 变量转换为 gmp_int?

c++ - 使用体素几何体进行光照贴图

c++ - 基于迭代器的自定义 heapify 函数

c++ - 在 C++ 中搜索树中节点的最快方法

c++ - 我的字节数组到十六进制字符串转换器有什么问题,或者为什么它在写入文件时在某个位置后剪切符号?

通过 WIX 安装程序安装的带有 CLI 项目 EXE 的 C# 不起作用

c++ - 如何用 C++ 编写 'pass reference by value' 包装器?

c++ - cvSetImageROI 检测眼睛

c++ - 在函数中返回大对象

c++ - 谷歌模拟 : How to test this code?