“说反话”实现字符串反转
例:输入 “I Love you”,输出“you Love I”;在不使用库函数,不使用sizeof()的情况下:
#include<stdio.h>#include<stdlib.h>voidreverse_str(char*p,intlen)//定义一个反转函数{char*left=p;char*right=p+len-1;while(left<right){chartmp=*left;*left=*right;*right=tmp;left++;right--;}}char*reverse(char*p)//将这个字符串中的单词先反转,再将整体反转{intn=0;char*arr=p;intcount=0;char*p2=arr;while(*arr)//单词反转{n++;if(*arr==''){reverse_str(p2,count);//传递单词的首地址和长度count=-1;p2=arr+1;}count++;arr++;}reverse_str(p2,count);reverse_str(p,n);//字符串反转returnp;}intmain(){chararr[81];gets(arr);char*ret=reverse(arr);printf("%s\n",ret);system("pause");return0;}
当然这只是一种方法。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。