用选择法对数列排序,其中的ifly语句后添加花括号{}输出出错,是什么原因

img

img

img
i

img

排序算法写的有问题,参考如下:

#include <stdio.h>

void select_sort(int a[],int n)
{
    int i,j;
    int minindex,tmp;
    for (i=0;i<n-1;i++)
    {
        minindex = i;
        //找出第i小的数所在的位置
        for(j=i+1;j<n;j++)
        {
            if(a[j] < a[minindex])
                minindex = j;
        }

        //将第i小的数放在第i个位置
        if (i != minindex)
        {
            tmp = a[i];
            a[i] = a[minindex];
            a[minindex] = tmp;
        }
    }
    
}

int main()
{
    int a[]={3,4,1,2,10,8,7,9,6,5},i;
    printf("排序前:\n");
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    select_sort(a,10);

    printf("排序后:\n");
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    return 0;
}