输入字符串后 无输出结果

# include<stdio.h>
# include<string.h>
int main() 
{
    char s[100];
    char zifuchuan_nishuchu( char str[]);
    printf("请输入一个字符串:");
    gets(s);
    printf("逆序输出后的字符串:%s",zifuchuan_nishuchu(s)); 
}
# include<string.h>
char zifuchuan_nishuchu( char str[])
{   
    int i,n=0;
    char a[100];
    for(i=strlen(str)-1;i>=0;i--)
    {
        a[n]=str[i];
        n++;
    }return(a);
}这是谭浩强函数习题一个字符串反序存放的题目

修改如下,供参考对照:

#include<stdio.h>
#include<string.h>

int main()
{
    char s[100];
    char *zifuchuan_nishuchu( char str[]);
    printf("请输入一个字符串:");
    gets(s);
    printf("逆序输出后的字符串:%s",zifuchuan_nishuchu(s));
    return 0;
}

//#include<string.h>

char *zifuchuan_nishuchu( char str[])
{
    int i,n=0;
    char a[100];
    for(i=strlen(str)-1;i>=0;i--)
    {
        a[n]=str[i];
        n++;
    }
    a[n]='\0'; //最后加入字符串结束符
    return(a);
}

修正上面的代码:

#include<stdio.h>
#include<string.h>
int main()
{
    char s[100],a[100];
    char zifuchuan_nishuchu( char str[],char a[]);
    printf("请输入一个字符串:\n");
    gets(s);
    zifuchuan_nishuchu(s,a);
    printf("逆序输出后的字符串:%s",a);//zifuchuan_nishuchu(s));
    
    return 0;
}

char zifuchuan_nishuchu(char str[],char a[])
{
    int i,n=0;
    //char a[100];
    for(i=strlen(str)-1;i>=0;i--)
    {
        a[n]=str[i];
        n++;
    }
    a[n]='\0';//字符串结束符
}