写一个程序,将字符串倒序输出
#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));
}
大神帮我看看,错在哪里了 展开
#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));
}
大神帮我看看,错在哪里了 展开
1个回答
展开全部
#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;
}
加一句这个就好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询