二维数组 a 的第一个元素(也就是首元素)表达方式是 a [ 0 ][ 0 ] ,这意味着我可以理解为第 0 行第 0 列元素,那么下面第一个代码中定义数组 a 时为什么必须写成 a [3][3] 而不是 a [2][3]呢?如果这样算的话我这个数组总共有 4 行 4 列了,
第二个代码写成 a [2][3] 为什么报错啊?
第三个代码如果 a [0][0] 存在,那么第三列应该是可以打印出来的。
void main()
{
char a[3][3] = { "123","456","789" };
printf("%c \n ", a[0][0]);
for (int i = 0; i < 3; i++)
{
printf("\n");
for (int j = 0; j < 3; j++)
{
printf("%c ", a[i][j]);
}
}
system("pause");
}
输出结果:
1
1 2 3
4 5 6
7 8 9 请按任意键继续. . .
void main()
{
char a[2][3] = { "123","456","789" };
printf("%c \n ", a[0][0]);
for (int i = 0; i < 2; i++)
{
printf("\n");
for (int j = 0; j < 3; j++)
{
printf("%c ", a[i][j]);
}
}
system("pause");
}
输出结果:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E0146 初始值设定项值太多 test D:\Users\Lenovo\source\repos\test\test\test.c 7
void main()
{
char a[3][2] = { "123","456","789" };
printf("%c \n ", a[0][0]);
for (int i = 0; i < 3; i++)
{
printf("\n");
for (int j = 0; j < 2; j++)
{
printf("%c ", a[i][j]);
}
}
system("pause");
}
输出结果:
1
1 2
4 5
7 8 请按任意键继续. . .