警告:数组初始值设定项中的元素过多
warning: excess elements in array initializer
我正在尝试创建二维数组。
int main() {
int stalagmite[10][6] = { { 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 },
{ 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 },
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 0, 1, 1, 1, 0, 1, 0, 0 },
{ 0, 1, 1, 0, 1, 1, 0, 1, 1, 0 },
{ 0, 1, 1, 0, 1, 1, 0, 1, 1, 0 } };
printf("%d\n", stalagmite[3][3]);
}
输出如下:
deneme.c:9:51: note: (near initialization for ‘stalagmite[5]’)
deneme.c:9:54: warning: excess elements in array initializer
9 | { 0, 1, 1, 0, 1, 1, 0, 1, 1, 0 } };
正在尝试使用初始值设定项定义数组。当我尝试编译它时,总是 return 出现上述错误。我尝试更改大小、数据类型,但没有任何效果。
int stalagmite[10][6]
定义了一个由 6 个 int
组成的 10 个数组的数组,而您的初始化程序指定了由 10 个整数组成的 6 个数组。
可能应该将定义更改为 int stalagmite[6][10] = {...}
或 int stalagmite[][10] = {...}
。
我正在尝试创建二维数组。
int main() {
int stalagmite[10][6] = { { 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 },
{ 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 },
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 0, 1, 1, 1, 0, 1, 0, 0 },
{ 0, 1, 1, 0, 1, 1, 0, 1, 1, 0 },
{ 0, 1, 1, 0, 1, 1, 0, 1, 1, 0 } };
printf("%d\n", stalagmite[3][3]);
}
输出如下:
deneme.c:9:51: note: (near initialization for ‘stalagmite[5]’)
deneme.c:9:54: warning: excess elements in array initializer
9 | { 0, 1, 1, 0, 1, 1, 0, 1, 1, 0 } };
正在尝试使用初始值设定项定义数组。当我尝试编译它时,总是 return 出现上述错误。我尝试更改大小、数据类型,但没有任何效果。
int stalagmite[10][6]
定义了一个由 6 个 int
组成的 10 个数组的数组,而您的初始化程序指定了由 10 个整数组成的 6 个数组。
可能应该将定义更改为 int stalagmite[6][10] = {...}
或 int stalagmite[][10] = {...}
。