*^-^* 1个让我抓肝挠肺的BUG *^-^*
1. 认识bug:
这是溢出数组的异常情况,就是你自己作死,数组越界了,关键是这种异常没有报错提示,小白真的一脸懵逼!
2. bug出现的原因:
一般情况都是在做循环的时候,判断条件条件
你这是循环体结束后 i
还在使用?否则不会触发越界的。循环结束后 i == 5
,但你不使用 arr[i]
就不会越界。
尽量 for (int i = 0; i <= 4; ++i)
这样用,把 i
的值限制在需要的作用域内,这样不容易出岔子~
从原则上说,定义的所有变量的作用域都应当尽可能地小,能够满足使用需求的作用域就够了。在 C 中,函数内顶级的变量都需要在函数起始部分声明,做不到这一点,但 for
内限制索引变量还是没问题的。