使用递归方法编写函数,实现将输入字符串反向保存
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
//使用递归方法编写函数,实现将输入字符串反向保存
void rev(char * s);
int main (){
// char str[]={'h','e','l','l','o','\0'}; //可以这么定义
char str[]="hello world"; //字符数组数组用字符串常量进行初始化末尾会自动添加'\0'
// char *str ="hello"; //不能这么定义,初始化指针时所创建的字符串常量被定义为只读,不能修改
printf("%s\n",str);
rev (str);
printf("%s",str);
return 0;
}
void rev(char * s)
{
char *p=s;
char temp;
while (*p != '\0')
{
p++;
}
p--;
if (s<p)
{
temp=*s;
*s=*p;
*p='\0';
rev(s+1);
*p=temp;
}
}