写一个程序,将字符串倒序输出

#include<stdio.h>#defineLEN50charinvert(chars[]){chars1[LEN],letter;inti=0,j=0;while(... #include <stdio.h>
#define LEN 50
char invert(char s[]){
char s1[LEN],letter;
int i=0,j=0;
while(s[i]!='\0')
i++;
for(i;i>=0;i--){
letter=s[i];
s1[j]=letter;
j++;}
return s1[LEN];

}

void main(){
char string[LEN];
printf("请输入一串字符:");
gets(string);
printf("%s",invert(string));

}

大神帮我看看,错在哪里了
展开
 我来答
微俊king
2016-05-06 · TA获得超过576个赞
知道小有建树答主
回答量:626
采纳率:50%
帮助的人:565万
展开全部
#include <stdio.h>
#define LEN 50
char* invert(char s[], char s1[]){
int letter;
int i=0,j=0;
while(s[i]!='\0')
i++;
--i;
for(;i>=0;i--){
letter=s[i];
s1[j]=letter;
j++;}
return s1;
}

int main(){
char string[LEN];
char string1[LEN];
printf("请输入一串字符:");
gets(string);
printf("%s",invert(string, string1));
return 0;

}
追问
运行了你写的,如果输入的字符不够50个,能输出倒序,但是后面会出现乱码。这该怎么解决呢?
追答
char* invert(char s[], char s1[]){
    int letter;
    int i=0,j=0;
    while(s[i]!='\0')
            i++;
    --i;
    for(;i>=0;i--){
        letter=s[i];
        s1[j]=letter;
        j++;}
    s1[j] = 0;// add 
    return s1;
}

加一句这个就好了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式