c语言学习成果巩固;
- 递归实现
好处在于不改变原字符串,仅仅是对字符串的逆序输出。
#include<stdio.h>
void print(char* p,int i)
{
if(p[i+1] != '\0')
{
print(p,i+1);
}
printf("%c", p[i]);
}
int main()
{
char c[100];
gets(c);
print(c,0);
return 0;
}
- 常规方法(对称元素交换)
#include <stdio.h>
#include <string.h>
void reverse(char* p, int start, int end)
{
while (start < end) //对称元素交换
{
char c = p[start];
p[start] = p[end];
p[end] = c;
start++;
end--;
}
}
int main()
{
char c[100];
gets(c);
reverse(c, 0, strlen(c)-1);
puts(c);
return 0;
}