c语言字符串循环右移

Python012

c语言字符串循环右移,第1张

函数功能:将输入字符串 src循环右移n位 result为输出结果

要求:以效率最高的方式实现

示例:

“abcde” --2-->"deabc"

"abcde"--8-->"cdeab"

void right_shift_r(const char* src,char* result,unsigned int n)

{

        unsigned int len = strlen(src)

        int i=0

        for(i=0i<leni++)

        {

                result[i] = src[i+n]%len 

        }

}

>>是2进制右移,相反的还有<<是2进制左移。

举例如下,如果一个变量

int

x=5

则x的2进制表示为:

0000000000000101

执行x>>1代表x右移一位,就是上面这一串整体右移,末位淘汰,高位补0

于是x变成了

0000000000000010

也就是x变成了2

<<左移相反,高位淘汰,末位补0

你的那种x[i][j]+=>4是不行的,没有这种运算符。