比较简单,要求调用函数实现
#include<stdio.h>
#include<string.h>
void inv(char s1[],char s2[])
{
int l,i;
l = strlen(s1);
for (i = l-1;i >= 0;i--)
{
s2[l-i-1] = s1[i];
}
}
int main()
{
int i;
char s1[100] = {0},s2[100] = {0};
while (~scanf("%s",s1))
{
inv(s1,s2);
for (i = 0;i < strlen(s2);i++)
{
printf("%c",s2[i]);
}
//for(i = strlen(s1)-1;i >= 0;i --) printf("%c",s1[i]);//puts(s2);
//printf("\n");
puts("");
}
}
这里有一个坑,这里读取字符串不要用gets函数,会读出空格,scanf不存在这个问题。
另外,为避免出现数组输出乱码,在定义字符串数组的时候需要先初始化一下。