二维数组
int a[]={{4},{},{7}}我想知道这个二维数组赋值的错误在哪,我的理解是没有定义的地方不是会默认赋值0吗 您的代码中的二维数组没有明确地指定行的数量,但从初始化列表中可以推断出行数。
确实,在数组的初始化过程中,没有明确赋值的元素会被默认设置为0。这里的问题主要是初始化列表的格式。
按照您给出的代码,应该这样定义和初始化二维数组:
int a[] = { {4, 0, 0}, {0, 0, 0}, {7, 0, 0} };
您的代码中,大括号的使用方式是不正确的。这是修改后的正确代码:
int a[] = { {4}, {}, {7} };
这样定义和初始化二维数组后,数组中没有明确赋值的元素将被默认设置为0。以下是数组的具体值:
a = 4, a = 0, a = 0
a = 0, a = 0, a = 0
a = 7, a = 0, a = 0 每行三个值你一行只给一个 a327904410 发表于 2023-4-14 11:05
每行三个值你一行只给一个
但是没给的值会自动给0呀 1203081549 发表于 2023-4-14 17:47
但是没给的值会自动给0呀
那是当处于空的时候才会自动给吧,如果你只给一两个系统不知道你要放在哪个位置的,所以报错 a327904410 发表于 2023-4-15 01:15
那是当处于空的时候才会自动给吧,如果你只给一两个系统不知道你要放在哪个位置的,所以报错
不知道是不是这么理解,我没这么用过 第二行你设为0,什么都没有应该不行 remake111 发表于 2023-4-17 17:44
第二行你设为0,什么都没有应该不行
我问了老师,确实不能没有,什么都没有不会默认给0 a327904410 发表于 2023-4-15 01:15
那是当处于空的时候才会自动给吧,如果你只给一两个系统不知道你要放在哪个位置的,所以报错
你好,我问了老师,如果一个值也不给不会默认给0 好像不给也可以赋值0.我上机试过了
页:
[1]