|
| |
| 解决问题: 数组下标超出边界的测试。 分析: 创建一个内含4个元素的的数组,错误地使用-1~6的下标。 代码如下:
分析: 该编译器似乎把value2储存在数组的前一个位置,把value1储存在数组的后一个位置。 在上面的输出中,arr[-1] 和 value2对应的内存地址相同,arr[4] 和 value1对应的内存地址相同。 因此可得到结论,越界的数组下标会导致程序改变其他变量的值。
主要原因: C不检查边界,来使程序运行更快。
得到结论: 数组元素的编号从0开始,最好在声明数组时使用符号常量来表示数组的大小。 修正的结果如下:
可以知道变量的值没有被改变。
|
|
|
|
数组边界
最新推荐文章于 2024-09-18 09:37:23 发布