我首先声明了数组:
int array[5] = {'5', '6'};
但它没有给出任何错误并关闭。是什么原因?我做错了吗?我也尝试了这个
int N = 5;
int array[N] = {'5', '6'};
答案 0 :(得分:2)
首先,使用字符填充整数数组,如果使用大括号创建数组,则无需在方括号中添加数字。
您的代码应为:
int array [] = {2,3};
答案 1 :(得分:1)
您正在使用int
初始化char
的数组。它应该是
int arr[5] = {2,3};
它会将arr[0]
初始化为2
,将arr[1]
初始化为3
。其余的人初始化为0
现在,无法使用数组初始化程序初始化variable length arrays。您必须通过为其元素指定一个valuse来初始化它。您可以使用for
循环
int N = 5;
int arr[N];
for(int i = 0; i < N; i++)
scanf("%d", &arr[i]);
答案 2 :(得分:0)
我在ubuntu上使用gcc,我声明int array[5] = {'5', '6'};
并使用gcc -Wall Labtest.c
运行,得到了响应warning: unused variable ‘array’ [-Wunused-variable]
,这是你应该得到的。如果您尝试使用未声明的变量,则编译会将该值初始化为零。在我的情况下,我试图打印出数组的值。
int array[5]={'5','6'};
int i;
for (i = 0; i < 5; i++)
printf("array[%d] is : %d\n", i, array[i]);
输出
array[0] is : 53
array[1] is : 54
array[2] is : 0
array[3] is : 0
array[4] is : 0