字符串循环移位

来源:互联网 发布:阿里小号 淘宝绑定 编辑:程序博客网 时间:2024/05/16 17:34

字符串循环移位,要考虑移位的位数是否超过了字符串的长度。


代码:

//循环左移n位void loopmove1(char* str,int n){    if(NULL == str)        return;        int len = strlen(str);    int num = n % len;     for(int i = 0;i < num;i++){//循环移动num次        char temp = str[0];        for(int j = 0;j < len - 1;j++){            str[j] = str[j+1];        }        str[len-1] = temp;    }}void loopmove2(char* str,int n){    if(NULL == str)        return;    int len = strlen(str);    int num = n%len;    int temp[max];    strncmp(temp,str,num);//将str的前n个字符放到temp中    strcat(tempstr+num);//将str中后面的字符接到temp后    *(temp+strlen(str)) = '\0';    strcpy(str,temp);}

原创粉丝点击