首页 > 解决方案 > 取值后程序停止

问题描述

我正在为素数编写此代码;从用户那里获取输入后,程序不会做任何进一步的计算。
输入/输出的一个例子是:

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;
}

标签: c++

解决方案


int i, n;
...
for(i==2;i<n;i++)

那是假的。您从未初始化i.

我怀疑你想写

int i, n;
...
for(i=2;i<n;i++)

那是; 将for循环的第一项赋值给 ,i而不是与 进行比较2


推荐阅读