c - 变量意外改变

标签 c

我正在学习 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/

相关文章:

c++ - C 中的后台作业(在玩具外壳中实现 &)

c - 如何在没有换行符的情况下缓冲从大文件读取的数据

c - int *(*papi[10]) 是什么意思

c - 为什么我可以使用 CLion 修改字符串文字?

c - 用 C(和其他命令式语言)漂亮地打印二叉树

C指针: Explain the program concept

css - 为什么 CSS 样式没有应用于 GTK+ 代码?

c - 为什么有人会为第一个参数定义宏,包括 C 中的逗号?

c - 这里映射一行 URL WLAN 地理位置

动态数组的 C memcpy 行为