我试图用在 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/