heap-buffer-overflow on address堆溢出

一般情况下是数组越界访问或者数组的下标错误造成的。
今天刷题时遇到这个错误死活找不到原因,因为发现就是数组越界了。
while(f[i]&&i<n)i++;这种写法是错误的,最后i到n了会先访问f[i]引起错误。所以遇到这种循环判断的越界条件一定要放在最开头。
这种小错误都犯了,这题还是得经常刷一段时间不写都忘了。

参考:
https://stackoverflow.com/questions/51579267/addresssanitizer-heap-buffer-overflow-on-address

猜你喜欢

转载自blog.csdn.net/yrk0556/article/details/89383308