c - 在 C 语言中使用扫描输入变量初始化整数数组

标签 c arrays int scanf

我试图用在 C 中扫描值的变量初始化一个整数数组。数组中的值与我扫描的值不匹配。它在数组中存储奇怪的数字,如 -1040000000 或 37299。< br/> 任何帮助将不胜感激,我是编程新手!

int num1;
int num2;
int num3;

int intarr[3] = {num1, num2, num3};

printf("Enter 3 numbers.\n");
scanf("%d", &num1);
scanf("%d", &num2);
scanf("%d", &num3);

没有错误消息,但数字不是我输入的。例如,我扫描了数字 1、2、3。当我打印出数组每个索引处的值时,它打印出了我上面所说的奇怪数字。

最佳答案

在使用 scanf( )。您必须先扫描变量,然后将它们分配给数组。

int num1;
int num2;
int num3;

printf("Enter 3 numbers.\n");
scanf("%d", &num1);
scanf("%d", &num2);
scanf("%d", &num3);

int intarr[3] = {num1, num2, num3};

您应该启用编译器的完整警告,它可能会警告您在初始化变量之前正在使用它们。参见 Why should I always enable compiler warnings?

您也可以完全跳过变量,直接扫描到数组中。

printf("Enter 3 numbers.\n");
int intarr[3];
scanf("%d", &intarr[0]);
scanf("%d", &intarr[1]);
scanf("%d", &intarr[2]);

关于c - 在 C 语言中使用扫描输入变量初始化整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57982450/

相关文章:

c - 请帮助我理解这个 main() 代码

ruby-on-rails - 返回 rails 中的对象数组

arrays - 通过匹配与 awk 合并文件 - awk 不打印所有数组分配

ios - 无法将 Int 类型的值分配给 Swift 2.1 中 Int 数组的元素

c - 如何从函数返回一个字符串到main()?

Windows 上的 Python.h 和 MinGW

java - 如何打印 2 个整数但不添加它们?

c - 在数组中使用 int 还是 char?

c - 声明 char 数组导致 execv() 不起作用

javascript - 在 JS 中调用二维数组时一直未定义