c语言问题 帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:01:44
double a[3][4] 它行下标的范围是0~2 列下标范围是0~3 为什么a[3][2]是合法的表达式啊
a[2][4]为什么是非法的呢

double a[3][4]指的是3行4列的2维数组
a[3][2]指3行2列的数组,没错啊
没规定后一个数要比前一个大。
a[3][2]的行下标是0~2,列为0~1

这个下标越界由你自己负责 编译器不负责这个的

是这样的,编译器不会为您判断数组越界情况,因为这不是语法问题,而是逻辑问题,虽然编译的时候不会报错,但是这样是不可以使用,会造成内存溢出