#include <stdio.h>

#define ARR_SIZE 8


void bubble_sort(int numbers[], int len)

{

    int a, b, c, d;

    

    for(a = 0; a < len; a++)

    {

        for(b = 0; b < len - a; b++)

        {

            if(numbers[b] > numbers[b + 1])

            {

               c = numbers[b];

               numbers[b] = numbers[b + 1];

               numbers[b + 1] = c;

            }

        }

    }

    

    for(d = 0; d < len; d++)

    printf("%d ", numbers[d]);

}


void main()

{

    int numbers1[ARR_SIZE] = {9, 2, 5, 7, 4, 1, 1, 3};

    int numbers2[ARR_SIZE] = {2, 4, 9, 1, 4, 3, 5, 4};

    

    printf("정렬 결과: ");

    bubble_sort(numbers1, ARR_SIZE);

    printf("\n정렬 결과: ");

    bubble_sort(numbers2, ARR_SIZE);

}


이 코드를 실행했을 때 numbers2는 1 1 2 3 4 4 4 5로 나오고 numbers1을 주석처리하고 실행하면 1 2 3 4 4 4 5 9로 제대로 나옵니다 어떤게 문제인걸까요?