|
发表于 2023-4-14 10:56:05
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
int a[][3]={{4},{},{7}}
我想知道这个二维数组赋值的错误在哪,我的理解是没有定义的地方不是会默认赋值0吗
您的代码中的二维数组没有明确地指定行的数量,但从初始化列表中可以推断出行数。
确实,在数组的初始化过程中,没有明确赋值的元素会被默认设置为0。这里的问题主要是初始化列表的格式。
按照您给出的代码,应该这样定义和初始化二维数组:
- int a[][3] = { {4, 0, 0}, {0, 0, 0}, {7, 0, 0} };
复制代码
您的代码中,大括号的使用方式是不正确的。这是修改后的正确代码:
- int a[][3] = { {4}, {}, {7} };
复制代码
这样定义和初始化二维数组后,数组中没有明确赋值的元素将被默认设置为0。以下是数组的具体值:
- a[0][0] = 4, a[0][1] = 0, a[0][2] = 0
- a[1][0] = 0, a[1][1] = 0, a[1][2] = 0
- a[2][0] = 7, a[2][1] = 0, a[2][2] = 0
复制代码
|
|