要求:以效率最高的方式实现
示例:
“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是不行的,没有这种运算符。