想用函数调用的方法排序数组,提示“如递归所有控件路径,函数将导致运行时堆栈溢出”

注释部分的“起泡法”是没问题的,但是换成调用函数的方法后就不对了,是哪里出错了?

#include<stdio.h>
int main()
{
    int sort(int a[10]);
    int i[10];
    printf("%d",sort(i));
}
int sort(int a[10])
{
 /* 
 int b[10];
    int m,n,t;
    printf("input 10 numbers:\n");
    for(m=0;m<10;m++)
        scanf("%d",&b[10]);
    printf("\n");
    for(n=0;n<9;n++)
        for(m=0;m<9-n;m++)
            if(b[m]>b[m+1])
            {t=b[m];b[m]=b[m+1];b[m+1]=t;}
    printf("the sorted numbers:\n");
    for(m=0;m<10;m++)
        printf("%d",b[m]);
    printf("\n");
    */
    return sort(b);
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^