c语言的一个问题
若有声明语句inta[10],b[3][3];则以下对数组元素的赋值操作中,不会出现越界访问的是:A.a[-1]=0;B.a[10]=0;C.b[3][0]=0;D.b[...
若有声明语句int a[10],b[3][3];则以下对数组元素的赋值操作中,不会出现越界访问的是:A.a[-1]=0;B.a[10]=0;C.b[3][0]=0;D.b[0][3]=0谁能解释一下答案为什么选B,我怎么觉得四个都是错的。
打错了,答案是选的D 展开
打错了,答案是选的D 展开
3个回答
展开全部
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[10] 下标 0-9
b[3][3] 下标,0-2, 0-2
b[0][3] 这样看 0*3+3 = 1*3+0,相当于 b[1][0],不越界,但这是一种不好的习惯
b[3][3] 下标,0-2, 0-2
b[0][3] 这样看 0*3+3 = 1*3+0,相当于 b[1][0],不越界,但这是一种不好的习惯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询