C++~选这题~下面能正确定义数组,并能正确赋值的语句是?请说明各个选项的理由。

AintN=5,b[N][N]Binta[1][2]={{1},{3}}Cintc[2][]={{1,2},{3,4}}Dintd[3][2]={{1,2},{34}}... A int N=5,b[N][N]
B int a[1][2]={{1},{3}}
C int c[2][]={{1,2},{3,4}}
D int d[3][2]={{1,2},{34}}
展开
 我来答
匿名用户
推荐于2018-03-07
展开全部
A 错误,int b[N][N];N是变量,不是具体的数值。C++中声明数组时必需指明数组的大小,例如 int[5][5];B 错误,int a[1][2] 和 int a[2]是同一个意思,都表示的是同一个数组。而{{1},{3}}是二维数组的赋值,改为应 int a[2][1] ={{1},{3}}
C 错误 int a[2][];这里出错,C++中二维数组,第一个下标可以省略,但第二个绝不能省略,应该 改为 int a[][2]D 正确。最后 C++中 a[N][M](N,M都是具体的值,如果在声明时就直接赋值,N可以省略,M不能)N表示行数,M表示列数,即每行可以分配的内存大小
sonny213
2012-11-23 · TA获得超过139个赞
知道答主
回答量:49
采纳率:0%
帮助的人:48.3万
展开全部
A错误,因为数组是在堆上分配空间大小必须在编译时知道,不可动态指定,如果N定义为常量或枚举,那就是正确的。
B错误,因为数组是一个1行2列的数组,一个{}表示一行
C错误,因为定义了一个2行的数组,但是列没有确定。改成 int c[][2]={{1,2},{3,4}}是可以的
D正确,定义了一个3行2列的数组,只初始化前2行数据,后面的用0初始化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-02
展开全部
选cA明显错。B和D都只能存一个元素,当时它明显存多了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弓枋茵I
2014-01-05 · TA获得超过342个赞
知道答主
回答量:78
采纳率:0%
帮助的人:71.9万
展开全部
A是错的 答案是D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-02
展开全部
A正确
B错误,因为int a[1][2]是 {{1, 3}}不是{{1}, {3}}
C正确,会自动确定为int c[2][2]
D错误,因为int d[3][2] 后面{{}, {}}只有2个,不是3个,缺少一组
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式