【C】字符串逆序
将⼀个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。如:输⼊“I am a student”,输出“tneduts a ma I”。
输⼊参数:
inputString:输⼊的字符串
返回值:
输出转换好的逆序字符串
输⼊样例:
字符串截取后3位I am a student
输出样例:
tneduts a ma I
解决⽅案1:
#include<stdio.h>
int main()
{
char inputString[101];
char c;
int i=0;
while((c=getchar())!='\n')
{
inputString[i]=c;
i++
}
inputSting[i]='\0';
for(int j=i-1;j>=0;j--)
printf("%c",inputString[j]);
return 0;
}
这种⽅法可以实现字符串的逆序,但是在华为OJ上却通不过,原因是,c定义为char类型,但是getchar()函数的原型是int getchar(void)返回值是int,因此可能会造成数据丢失。
解决⽅案2
#include<stdio.h>
#include<string.h>
int main()
{
char inputString[101];
gets(inputString);
for(int j=strlen(inputString)-1;j>=0;j--)
printf("%c",inputString[j]);
return 0;
}
这种⽅法⽤gets()函数读取⼀⾏,放⼊inputString中,然后逆序打印,通过了华为OJ。
运⾏结果:
另外,关于字符串的⼏种输⼊⽅法,参见:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。