【问题标题】:Array stores 2 values in one "place"数组将 2 个值存储在一个“位置”
【发布时间】:2019-07-25 13:01:41
【问题描述】:

当我开始我的程序时,我不能只插入一个数字作为“数字 1”,而是两个。

#include <stdio.h>
#include <stdlib.h>

int main() {
    int sum = 0;
    int array[5] = {};
    for(int i = 0; i < 5; i++) { 
        printf("Insert number %d \n", i+1);
        scanf("%d%", &array[i]);
    }
    for(int i = 0; i < 5; i++){
        sum = sum + array[i];
    }

    printf("Sum is %d \n", sum);
    return 0;
}

【问题讨论】:

  • 感谢我是 C 新手(从 C++ 切换)。
  • 我建议使用-Werror 标志进行编译,它将编译器警告变成编译器错误。如果忽略编译器警告,C 中可能会出现很多意外行为。
  • 从长远来看,它还可以帮助您使用适当的缩进,这样就更难混淆哪个右括号 } 关闭了什么。
  • @Wamadeahama 和 -Wall-Wextra 实际得到诊断...

标签: c arrays loops for-loop


【解决方案1】:

去掉

中的第二个%
scanf("%d%", &array[i]);

成为

scanf("%d", &array[i]);

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 2020-01-05
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多