数组上限
图一是源代码(插入排序),图二是运行结果,这个33是哪里来的
我知道代码有错,第一个循环应该是i<=5,但是不知道为什么会出现33,而且每次运行都是33 估计是数组越界,内存里a再往后的位置正好是33,给你当成7个数字排序了,最后输出前六个,最大的没了。 你将排序过程输出就知道了。C语言不检查边界,33是边界外的值,而你代码刚好把33也算到插入排序。 a存的是33 数组越界了,i<=6会出现a yacc 发表于 2021-3-21 13:44
估计是数组越界,内存里a再往后的位置正好是33,给你当成7个数字排序了,最后输出前六个,最大的没了。
也就是说a=33?a我没有定义初始化过啊 晨星的天空 发表于 2021-3-21 15:00
a存的是33
33这个值是随机的吗 鸿氏 发表于 2021-3-26 21:27
也就是说a=33?a我没有定义初始化过啊
可能跟编译器有关,也可能是内存里随机的数据,反正不要越界就对了:lol
页:
[1]