我正在学习 C 语言并编写一个计算阶乘的程序。当我打印变量的值时,它显示为“1111111111”。我检查了一下,初始化后它是“1”。我认为这可能是溢出,但问题是我不知道为什么会发生。对于第一次迭代,prev_num 变量应读取“1”。
#include <stdio.h>
int main(void)
{
int prev_num = 1;
int n = 0;
for (n=1; n<=10; n++)
printf("%i", prev_num);
prev_num = prev_num * n;
return 0;
}
最佳答案
您忘记了 for 循环周围的括号:
for (n=1; n<=10; n++) {
printf("%i\n", prev_num);
prev_num = prev_num * n;
}
此外,添加换行符以将数字排列在彼此下方。
关于c - 变量意外改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27430109/