你好,在冒泡排序的内层循环中,变量i的最大值是6,而if里的判断出现了i+1,导致数组越界,因为C语言数组下标从0开始,而由你之前的数组声明看,最大下标应该就到6。
另外,虽然不是什么错误,但既然你已经空出了数组第一个空间不用,就没必要再另外声明一个n用于交换两数了。
冒泡排序:
for (j = 1; j < 6; j++)
for (i = 1; i < 7-j; i++)
if (a[i] < a[i+1]) {
//交换a[i]和a[i+1]
}