(插入排序)明明是一个无意义的语句,但是删了又不对?
原题:输入一个长度为6的升序数组,现在插入一个数字,进行排序后输出
上图中程序运行结果是正确的的,但是那句删了以后却不正确,为什么?明明无意义啊
你的
p=a[i];
的确没有意义,但你的程序本身就有错的
int a[6];
它的下标最大只能是5(也就是存6个数)
而你最后的循环
for(i=0; i<=6; i++)
你用到了a[6];下标溢出,结果会是“不可预见的"
所以你加 p=a[i];能得到正确结果只是运气
删去以后p没有用到,可能会报错~,如果不是报错,可以吧运行后的结果发一下吗~
下一篇:定义域计算里面
热门标签: