所以我正在从书中学习c ++((C ++ in fear fear))。并且有一个我不理解的代码。我需要知道代码是如何工作的。我的问题是在循环中,我理解它是如何工作的,但我不明白如何将i添加1。 (即使有评论)。
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n = 0; // Number to test for prime-ness
int i = 2; // Loop counter
bool is_prime = true; // Boolean flag...
// Assume true for now.
// Get a number from the keyboard.
cout << "Enter a number and press ENTER: ";
cin >> n;
// Test for prime by checking for divisibility
// by all whole numbers from 2 to sqrt(n).
while (i <= sqrt(n)) {
if (n % i == 0) { // If i divides n,
is_prime = false; // n is not prime.
}
++i; // Add 1 to i.
}
// Print results
if (is_prime) {
cout << "Number is prime." << endl;
}
else
{
cout << "Number is not prime." << endl;
}
return 0;
}
答案 0 :(得分:0)
向i
添加1只是继续测试下一次循环的 next 号码,以测试它是否划分n
。 ++i
只是被调用的前缀增量运算符。 Postfix i++;
可以在这里使用同样的效果,就像i = i + 1;
一样,但是因为有些情况下前缀增量比替代品更快(这里不是这种情况)除非您有特殊原因不这样做,否则始终使用前缀增量通常是一个好习惯。