我有这段代码旨在解释“for 循环”是如何工作的。
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Input a positive integer: ";
cin >> n;
int factorial = 1;
for (int i = 1; i <= n; ++i)
factorial *= i;
cout << "factorial(" << n << ") is << factorial << "\n ";
return (0);
}
int factorial =1
这行是做什么的?为什么需要它?
最佳答案
int factorial = 1;
定义一个变量,标识符为factorial
,类型为int
。它旨在在 for
循环的所有迭代中保存阶乘计算的临时结果,并保存最终结果。
它被显式初始化为 1
因为
它必须以某种方式初始化;否则,将导致未定义的行为,因为将访问未初始化的内存位置。
0
会很糟糕,因为0 * x = 0
对于所有实数,而1 * x = x
对于所有实数数。
关于c++ - 这个for循环中 "int factorial = 1"的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849123/