这代码为什么会运行不出结果?

/21.请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ASCII码降序排列。
2 #include
3 #include
4 #define SIZE sizeof(str)/sizeof(str[0])
5 void get_string_fun(char str[],int n)
6 {
7
8 printf("请输入一个字符串:\n");
9 scanf("%s",&str);
10 while (str[n++]!='\0');
11 {
12 printf("%d",n);
13 }
14 }
15
16 char sort_ASCLL_fun(char str[],int n,int size)
17 {
18 int i=0;
19 int j=0;
20 char temp=0;
21 // int len=strlen(str);
22 for(i=0;i 23 {
24 for(j=1;j<=n-2;j++)
25 {
26 if(str[i]>str[j])
27 {
28 temp=str[i];
29 str[i]=str[j];
30 str[j]=temp;
31 }
32 }
33 }
34 // str[i]='\0';
35 }
36 int main()
37 {
38 int i=0,n=0;
39 char str[20];
40 get_string_fun(str,n);
41 sort_ASCLL_fun(str,n,SIZE);
42 printf("%s",str[i]);
43 }

请把代码贴进 ‘代码块’ 并改进格式。

你这个get_string_fun并没有返回n的值啊

void get_string_fun(char str[],int *n)
 {
printf("请输入一个字符串:\n");
scanf("%s",&str);
while (str[(*n)++]!='\0');
printf("%d",*n);
}