rexerse_string的实现

#include<stdio.h>

void reverse_string(char*str)
{
	int n=0;
	char *p=str;
	char temp;//不改变string的位置,用p指向string
	while((*p++)!='\0')
	{
        n++;
	}
    if(n>1)
	{
		temp=str[0];
		str[0]=str[n-1];
		str[n-1]='\0';
		reverse_string(str+1);
		str[n-1]=temp;//第一次a压栈,第二次b压栈
	}
}
int main()
{
	char str[]="abcd";
	reverse_string(str);
	printf("%s\n",str);
	return 0;
}

你可能感兴趣的:(rexerse_string的实现)