二维数组的初始化...
看一段代码:main(){inta[][4]={{0,0,3},{},{0,10}};.......}这个初始化有没有错误那谁能告诉我运行为什么通不过....谁能说出来我...
看一段代码:
main()
{
int a[][4]={{0,0,3},{},{0,10}};
.......
}
这个初始化有没有错误
那谁能告诉我运行为什么通不过....谁能说出来我久佩服他...
我说...那个...最后一楼的...
a[][4]那个4表示的是列不是行... 展开
main()
{
int a[][4]={{0,0,3},{},{0,10}};
.......
}
这个初始化有没有错误
那谁能告诉我运行为什么通不过....谁能说出来我久佩服他...
我说...那个...最后一楼的...
a[][4]那个4表示的是列不是行... 展开
展开全部
绝对错了,不错你扇死我!
二维数组的初始化分为,一种为按行分段初始化,另一种为按行连续初始化。
int a[2][3]={{5,6},{7,8},{9,10}};
这是第一种,
int a[2][3]={5,6,7,8,9,10};
这是第二种。
a这个二维数组一共2行3列共6个存储空间,图形为:
5 6
7 8
9 10
正好占满。
而且C语言默认可以省略行数,但不能省略列数
你看看你的初始化
int a[][4]={{0,0,3},{},{0,10}};
行数省略是没有任何问题的。
但是你是按行分段初始化
第一行0 0 3
第二行
第三行0 10
注意了,你只对其中3行进行了初始化,第4行丢了。
所以a是一个半初始化的数组,C编译系统绝对不承认!
二维数组的初始化分为,一种为按行分段初始化,另一种为按行连续初始化。
int a[2][3]={{5,6},{7,8},{9,10}};
这是第一种,
int a[2][3]={5,6,7,8,9,10};
这是第二种。
a这个二维数组一共2行3列共6个存储空间,图形为:
5 6
7 8
9 10
正好占满。
而且C语言默认可以省略行数,但不能省略列数
你看看你的初始化
int a[][4]={{0,0,3},{},{0,10}};
行数省略是没有任何问题的。
但是你是按行分段初始化
第一行0 0 3
第二行
第三行0 10
注意了,你只对其中3行进行了初始化,第4行丢了。
所以a是一个半初始化的数组,C编译系统绝对不承认!
展开全部
我刚运行了下,确实运行不了,或许老谭的书这点也没有得到证实吧.int a[][4]={{0,0,3},{0},{0,10}};就是对的.
从一维数组的角度理解吧:第一行你为什么定义成了{0,0,3}而不定义成{,,3},同样你也不能定义成{0,0,3,}二维是同样的道理,如果在这个数的后面还要赋值,就不能为空,如果后面不用再赋值了,就全省略了,从它开始后面代表0比如:int a[3][4]={{1}};
从一维数组的角度理解吧:第一行你为什么定义成了{0,0,3}而不定义成{,,3},同样你也不能定义成{0,0,3,}二维是同样的道理,如果在这个数的后面还要赋值,就不能为空,如果后面不用再赋值了,就全省略了,从它开始后面代表0比如:int a[3][4]={{1}};
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这肯定是对的,在C语言中,二维数组中维数下标必须显性写出,不然编译都通不过的。
int a[][4]={{...},{...},{...},.....}是对的,
int a[4][]={{...},{...},{...},{...}}时错的。
int a[][4]={{...},{...},{...},.....}是对的,
int a[4][]={{...},{...},{...},{...}}时错的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
肯定有问题了,不能为空
后面也不相等!
后面也不相等!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有问题 可以这样初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询