0
我是C中的絕對初學者,並且正在嘗試學習位移。我寫了一個小程序,通過右移來測試分區。C中的右移除法
下面是代碼:
#include<stdio.h>
int shift_divide_by_16(int x);
int main() {
int x = 32;
int y = shift_divide_by_16(x);
printf("%d\n", y);
return 0;
}
int shift_divide_by_16(int x) {
x >> 4;
printf("%d\n", x);
return x;
}
該程序打印32 32
。爲什麼不打印2 2
?
謝謝。
也許你的意思是寫'X = X >> 4'。 'x >> 4'是一個*值*,它不做任何事情。 – hobbs 2014-08-31 19:53:57
'x >> 4;'做一個右移,然後拋棄結果。將其設爲某種東西 – 2014-08-31 19:54:17
謝謝!它現在有效。 – mrQWERTY 2014-08-31 19:54:40