@[CCC_XHR](/user/113968)
写成
```
#include <stdio.h>
int main(){
int l;//马路的长度
int m;//有多少组
scanf("%d %d",&l,&m);
int max=l+1;
int number[max]={0};
···
}
```
是这样吗?
by 老冲怪 @ 2020-02-01 19:22:54
@[CCC_XHR](/user/113968) 懂了,谢谢
by 老冲怪 @ 2020-02-01 19:23:27
@[老冲怪](/user/44812) 非指针数组建议在main外面定义
by LinkCutTree @ 2020-02-01 19:28:51
不然容易出锅
by LinkCutTree @ 2020-02-01 19:29:17
emmm,事实上,如果你使用变量定义一个数组的长度,将会CE
by USER113968 @ 2020-02-01 19:31:10
@[CCC_XHR](/user/113968)
为什么要声明为最长长度加一?我先写的
```
int number[10000]
```
只有三十分,但是改成10001就AC了。最多L取10000时有10001棵树,可是数组最大下标写10000不就有10001棵了吗
by 老冲怪 @ 2020-02-02 17:03:24
@[老冲怪](/user/44812)
数组从零开始编号,最大的下标其实是大小-1,你在定义数组时写的数字是数组大小,使用`int number[10000]`,最大的下标也就是9999,当你引用10000时就造成了访问越界
by USER113968 @ 2020-02-02 18:34:48
@[CCC_XHR](/user/113968) 懂了,谢谢
by 老冲怪 @ 2020-02-02 18:39:05