用递归的方式逆置字符串

**

今天我们来看一下用递归的方式逆置字符串

**

//当条件不成立时,跳出if,输出\0前面的字母,再跳出这个递归,输出倒数第二个,直到递归结束。
//用递归逆置字符串
#include 
#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含义是能对应的跳过一个元素。

你可能感兴趣的:(c语言)