递归算法实现字符串反转

这个是怎么做到的呢
#include<stdio.h>
void out10:
void main
out10:
printf("n");
void out10
char ch;
scanf("%c",&ch);
if(ch!="n")
out10:
printf("%c",ch);

递归函数及完整代码如下:

img

代码:

#include <stdio.h>
#include <string.h>
void out10(char buf[],int i,int j)
{
    char ch;
    if(i<j)
    {
        ch = buf[i];
        buf[i]=buf[j];
        buf[j]= ch;
        i++;
        j--;
        out10(buf,i,j);
    }
}

int main()
{
    char buf[100];
    int len;
    gets(buf);
    len = strlen(buf);
    out10(buf,0,len-1);
    printf("%s",buf);
    return 0;
}

void out10:是啥意思?你这是啥代码啊

供参考:

#include <stdio.h>
void reverse(char* str)
{
    char* p = str, c;
    while (*p) p++;
    p--;
    if (str < p) {
        c = *str;
        *str = *p;
        *p = '\0';
        reverse(str + 1);
        *p = c;
    }
}
int main()
{
    char buf[100];
    scanf("%s", buf);
    reverse(buf);
    printf("%s\n", buf);
    return 0;
}