有两个问题

P1047 [NOIP2005 普及组] 校门外的树

@[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


上一页 |