首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

数组下标为-1是什么意思?解决办法

2012-06-14 
数组下标为-1是什么意思?数组下标为-1是什么意思?它不是越界了嘛,怎么也能得出答案?[解决办法]这是在欺负

数组下标为-1是什么意思?




数组下标为-1是什么意思?它不是越界了嘛,怎么也能得出答案?

[解决办法]
这是在欺负编译器。
编译器是机器,不是人,它的规则是事先写好的。
数组的下标a[i],实际上就变成了*(a+i)
这么说,你能明白为什么能得出结果了吧。

当然了,程序这么写,搞学术、考试没问题,实际写程序最好不要这么写
[解决办法]
有个sum(&a[2]),函数调用的时候a已经是数组的第三个元素了,在此基础上+1 -1都在数组范围之内。

如果直接在a上-1,那样就会超出数组范围,就是个未定义的行为。若真想知道答案,可以自己单步调试,查看内存里面放的到底是什么东西。
[解决办法]

探讨

有个sum(&a[2]),函数调用的时候a已经是数组的第三个元素了,在此基础上+1 -1都在数组范围之内。

如果直接在a上-1,那样就会超出数组范围,就是个未定义的行为。若真想知道答案,可以自己单步调试,查看内存里面放的到底是什么东西。

[解决办法]
欺负人的玩意。你是知道-1的地方有合理的数据才这么写的。平时要是这地方没有合理的数据,可能你就崩溃了

热点排行