最近用c++处理数据,由于边界值没换算正确,导致数组越界了,然后运行居然不报错,导致算出来的数据是一个极其离谱的值。
简单说,就是取数组中的值进行计算,数组大小为64,下标对应0-63,结果我取值时由于下标计算错误,用了64的下标来取值,正常的取不到就应该报错,c++没有报错,而是返回了一个系统值给我,然后运算出来的值看起来就是超限了,其实并不是。如下图所示:
微信扫一扫
最近用c++处理数据,由于边界值没换算正确,导致数组越界了,然后运行居然不报错,导致算出来的数据是一个极其离谱的值。
简单说,就是取数组中的值进行计算,数组大小为64,下标对应0-63,结果我取值时由于下标计算错误,用了64的下标来取值,正常的取不到就应该报错,c++没有报错,而是返回了一个系统值给我,然后运算出来的值看起来就是超限了,其实并不是。如下图所示:
相关推荐