00010100循环左移2位后是01010000,用10进制表示就是80,而80按8进制输出(输出格式为%o),就是120。
你要移动什么类型的,字符数组嘛?还是? 字符数组可以参考下面这个void CircleShift(int buffer[],int shift)
{
int i,j,tt
int len=sizeof(buffer)
if(shift==0) return
for(i=0i<abs(shift)i++)
{
if(shift>0)
{
tt = buffer[len-1]
for(j=len-1j>0j--)
buffer[j] = buffer[j-1]
buffer[0] = tt
}
else
{
tt = buffer[0]
for(j=1j<lenj++)
buffer[j] = buffer[j+1]
buffer[len-1] = tt
}
}
}