字符窜右循环移位函数

来源:互联网 发布:2016淘宝店铺名字大全 编辑:程序博客网 时间:2024/06/06 09:46
方法一
#include<stdio.h>#include<string.h>void RightLoopMove(char *pStr, unsigned short steps){int i = 0;int len = strlen(pStr);char a;while (steps){ a = pStr[len -1]; //将最后一个数取出暂存for (i = len - 1; i > 0; i--){pStr[i] = pStr[i - 1];  //整体向后移}pStr[0] = a; //将最后一个放在最前面    steps--;}}int main(){char str[] ="abcdefghi";RightLoopMove(str, 2);printf("%s\n", str);getchar();return 0;}
方法二
<pre name="code" class="cpp">#include<stdio.h>#include<string.h>void reserve(char *l,char *r){    while (l < r){char tmp = *l; *l = *r; *r = tmp;l++;r--; }}void RightLoopMove(char *pStr, unsigned short steps){int len = strlen(pStr);reserve( &pStr[len - steps], &pStr[len - 1]); //abcdefgihreserve( &pStr[0], &pStr[len -steps - 1]);   //gfedcbaihreserve( &pStr[0], &pStr[len - 1]);         //hiabcdefg}int main(){char str[] = "abcdefghi";RightLoopMove(str, 2);printf("%s\n", str);getchar();return 0;}



0 0
原创粉丝点击