马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
二维数组 这样会报错提示初始值设定项太多 他不是从 0开始算的吗 从零开始算 到结束刚刚好啊
int iFishc1[][5] = { {0,1,2,3,4,5}, {0,1,8,1,1,1}, {0,3,4,3,1,1} };
要设成这样 多加一个列数才行
int iFishc1[][6] = { {0,1,2,3,4,5}, {0,1,8,1,1,1}, {0,3,4,3,1,1} };
但是 只给一行的数 这样又不报错 ? 蒙圈中 想知道原因
int iFishc1[][5] = {0,1,2,3,4,5};
工具 vs2017
本帖最后由 jackz007 于 2019-10-16 13:18 编辑
int iFishc1[][ 6] = { { 0,1,2,3,4,5}, { 0,1,8,1,1,1}, { 0,3,4,3,1,1} };
末维明明是 6,你却给出个 5 显然要出错
int iFishc1[][5] = {0,1,2,3,4,5};
实际上系统把它作为:
int iFishc1[][5] = {{0 , 1 , 2 , 3 , 4 } , {5 , 0 , 0 , 0 , 0}} ;
来看待了,只要试试下面的代码就清楚了: #include <stdio.h>
main()
{
int iFishc1[][5] = {0,1,2,3,4,5} ;
printf("the elements of iFishc1 = %d\n" , sizeof(iFishc1) / sizeof(int)) ;
printf("iFishc1[1][0] = %d\n" , iFishc1[1][0]) ;
}
|