c - 添加来自用户的数字的简单程序

标签 c scanf

我正在尝试编写一个简单的程序,该程序使用 scanf 从用户输入 5 个数字并将它们相加。这是我到目前为止的代码..

  int main()   
    {

    int i;  
    int j=1;  
    int k=1;

            for (i=1; i<= 5; i++)
            {
                  scanf("%d\n", &j);
                  k = k+j;
            }   
            printf("%d\n", k);
    }

但这是我运行程序时发生的情况:

1  
2  
3  
4  
5  
5  
16

基本上,它会要求我输入第六个数字(显然,我只需要 5),它还会在最终结果中加一。 (1+2+3+4+5=15)。

对此有任何想法。我是不是在某个地方犯了一个简单的错误?

最佳答案

正如其他人所说,您正在错误地初始化 k,但我怀疑导致您出现问题的原因是您正在使用 scanf("%d\n", &j); 而不是 scanf("%d", &j);scanf() 忽略导致匹配的空白。

关于c - 添加来自用户的数字的简单程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9690864/

相关文章:

c - scanf 成一个字符串数组

c - 如何在 c 中使用占位符 (%s) 创建字符串

c - 将 SEXP 结构转储到控制台

C 结构数据在迭代循环外无法保持一致

c - 如何将 .txt 文件中的值读取到 C 程序中

c - 如何将 char 读取为数字

c - 使用 scanf 解析没有空格的字符串

c - 使用本地编译的 OpenSSL 加载 ibcrypto.so.3 失败

c - 如何在 C 中将文件中的数字字符串作为单独的整数存储在数组中

C Linux fscanf 没有读取所有行