利用for循环计算n!的值
提示:n!=123…*n
易写错:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i < n; i++) {
n = i * (i + 1);//n的值不断发生改变,在第一次循环之后就变成了n
}
printf("%d", n);
return 0;
}
上面无论输入什么,输出总为2.
原因:因为n总在变化,应引入第三方变量。
修改:
#include <stdio.h>
int main() {
int n;
int s = 1 ;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
s = s * i;
}
printf("%d", s);
return 0;
}