C语言 二位数组越界?哪里越界了?
发布网友
发布时间:2024-03-04 13:40
我来回答
共1个回答
热心网友
时间:2024-03-04 21:49
多选的话就是A、D 单选就是D
二维数组可以用一个指向指针的指针来引用它,也就是说他们是等价的。
a[0][0] **a 或者*a[0]是同一个单元。
我们来看看B,2个*加一个[](B化简了也就是a[0][1][4])多指了一次肯定不对,C也是三个(C化简了也就是a[0][1][0])都不知道指到什么地方去了。
我运行过了,编译器说了A、D都对,他老人家没什么意见,要是多选你就选A、D吧。
要是单选,那较针起来A还是有点问题的a的第一维是0~2这三个数那给它加3就数组越界了。所以D是最可靠的。