关于数组为什么越界还能正常运行

img


这里定义数组只有16位,然后下面for的范围0-15,又因为a(i+1)=a(i),不就变成数组a有17个元素了??这不会越界吗?怎么能正常运行??

数组确实越界了,但是之所以能运行是因为计算机里的内存还没有溢出,所以并没有检测出来,但是如果越界过多,超过了预定内存,则会报错,而且电脑不同,有些能检测出来有些不能,但是这种写法是错误的,楼主很好的发现了问题,所以时刻要严谨