在 C 语言中使用扫描输入变量初始化整数数组
Using Scanned-In Variables to Initialize an Integer Array in C
我正在尝试使用在 C 中扫描值的变量初始化一个整数数组。数组中的值与我扫描的值不匹配。它在数组中存储奇怪的数字,如 -1040000000 或 37299 .
任何帮助将不胜感激,我是编程新手!
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。当我打印出数组每个索引处的值时,它打印出了我上面提到的奇怪数字。
您使用 num1
、num2
和 num3
来初始化数组,然后再使用 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};
您应该启用编译器的完整警告,它可能会警告您在初始化变量之前正在使用它们。参见
您也可以完全跳过变量,直接扫描到数组中。
printf("Enter 3 numbers.\n");
int intarr[3];
scanf("%d", &intarr[0]);
scanf("%d", &intarr[1]);
scanf("%d", &intarr[2]);
我正在尝试使用在 C 中扫描值的变量初始化一个整数数组。数组中的值与我扫描的值不匹配。它在数组中存储奇怪的数字,如 -1040000000 或 37299 .
任何帮助将不胜感激,我是编程新手!
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。当我打印出数组每个索引处的值时,它打印出了我上面提到的奇怪数字。
您使用 num1
、num2
和 num3
来初始化数组,然后再使用 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};
您应该启用编译器的完整警告,它可能会警告您在初始化变量之前正在使用它们。参见
您也可以完全跳过变量,直接扫描到数组中。
printf("Enter 3 numbers.\n");
int intarr[3];
scanf("%d", &intarr[0]);
scanf("%d", &intarr[1]);
scanf("%d", &intarr[2]);