**
今天我们来看一下用递归的方式逆置字符串
**
//当条件不成立时,跳出if,输出\0前面的字母,再跳出这个递归,输出倒数第二个,直到递归结束。
//用递归逆置字符串
#include <stdio.h>
#include "stdlib.h"
void reverse_string(char* string)
{
if ('\0' != *(++string))
reverse_string(string);
printf("%c", *(string - 1));
}
int main()
{
char a[] = "a";
printf("请输入要逆置的字符串");
scanf("%s", &a);
reverse_string(&a[0]);
printf("\n");
system("pause");
return 0;
}
应该注意
在这里我们看到了栈的特点,即先进栈的后出栈,还有一个亮点是用了指针的操作,传进去的是一个字符串首地址的指针,那么就可以在一个连续的内存空间里对指针进行加减操作,其含义是,加减1含义是能对应的跳过一个元素。