求来看看代码,冒泡法无效

能不能帮我看看哪里错了 我的冒泡为啥是无效代码,不知道哪里有问题

代码呢

供参考:

#include <stdio.h>
#define N 10
int main()
{
    int a[N] = { 5, 7, 1, 9, 18, 3, 15, 11, 4, 8 }, i, j, t;
    
    for (i = 0; i < N - 1; i++)
    {
        for (j = 0; j < N - 1 - i; j++)
        {
            if (a[j] > a[j + 1])
            {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
            }
        }
    }
    for (i = 0; i < N; i++)
        printf("%d ", a[i]);

    return 0;
}