c语言,字符串原地翻转
实现字符串的原地翻转:
#include<stdlib.h> #include<stdio.h> #include<assert.h> #define SWAP(a,b) (a)^=(b);(b)^=(a);(a)^=(b) char* strReverse(char* str){ assert(str!=NULL);//if(NULL == str) return; char *front,*rear; front=rear=str; while(*rear) rear++; rear--; while(rear > front){ SWAP(*rear,*front); front++; rear--; } return str; } int main(){ char test[]="test"; printf("input is : %s\n",test); printf("result is : %s\n",strReverse(test)); return 0; }
结果:
xu@xu-ThinkPad-X61:~/algorithm$ gcc strReverse.c
xu@xu-ThinkPad-X61:~/algorithm$ ./a.out
input is : test
result is :
tset
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。