7、9行i<=改成 i<
我看你的逻辑没有错。检查一下书写。
我给你一下我的代码,供你参考。可以从小到大排序并正确输出。
#include <stdio.h>
#define N 6
int main() {
int array[N] = {8, 4, 3, 9, 6, 2};
int i, j;
int tmp;
for (i = 0; i <= N - 1; i++) {
for (j = 0; j <= N - 1 - i; j++) {
if (array[j] > array[j + 1]) {
tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
for (i = 0; i < N; i++) {
printf("%d ", array[i]);
}
return 0;
}