c总结4 --- 字符串逆序(指针学习3)

来源:互联网 发布:2016淘宝美工有前途吗 编辑:程序博客网 时间:2024/05/21 11:23

学完了查找之后,我们来学习下字符串的逆序,因为在很多的时候我们都需要使用这样的功能。

比如我们现在又一个字符串  “abcdef”,要想实现逆序,其实就是将a和f、 b和e、c和d的位置进行调换即可,我们可以借助两个指针,分别指向a和f所在的位置,

然后让他们交换,知道前面的指针比后面的指针位置还小的时候结束。


直接上代码

/************************************************************************//* 函数名称:myStrRev/* 函数功能:实现字符串的反转/* 参数1:进行反转的字符串/************************************************************************/void myStrRev(char *p){//如果为空则直接终止if ( p == NULL){return;}//定义一个临时 字符变量char temp ;//定义两个指针 分别指向字符串的开头 和 结尾位置(\0前)char * pStart = p;//指向下标为0的位置char * pEnd = p + strlen(p) - 1;//指向下标为strlen(p)-1的位置  也就是\0前面的位置while (pStart < pEnd){//将前面指针指向的字符赋给字符变量temptemp = *pStart;//将后面指针指向的字符 赋值给前面指针指向的位置*pStart = *pEnd;//将字符变量temp的值 赋值给 后面指针指向的位置*pEnd = temp;//前面指针自增 pStart++;//后面指针自减pEnd--;}}int _tmain31(int argc, _TCHAR* argv[]){//定义字符串变量char str[] = "saodiseng";//调用方法myStrRev(str); //将字符串进行打印printf("%s  \n", str);system("pause");return 0;}

0 0
原创粉丝点击