i love you-----you love i flip a string like this

●翻转一个字符串
先将整个字符串逆序,后再将其中的每一个字符串逆序,可实现对一个字符串的翻转

void reserve(char *start,char *end)//字符串逆序
{
    
    
	while(start<end)
	{
    
    
		char temp=*start;
		*start=*end;
		*end=temp;
		start++;
		end--;
	}
}

int main()
{
    
    
	char input[100];
	gets(input);
	char *p1=input;
	char *p=input;
	整体逆序后,部分逆序
	reserve(input,input+strlen(input)-1);(整体逆序)
	//通过指针指向字符串的首尾地址
	while(*p!='\0')
	{
    
    
			  while(*p!='\0'&&*p!=' ')
	        {
    
    
	            p++;
            }
            reserve(p1,p-1);(部分逆序)
            //p1,p-1 分别指向字符串的首尾地址
              if(*p!='\0')
            {
    
    
            	p++;  //指向下一个字符串的首地址
                p1=p;
			}
	}
	puts(input);
	return 0;
}

Guess you like

Origin blog.csdn.net/cfk17829572643/article/details/109689945