我有一個非常簡單的C程序由以下功能:相當於C函數,不同的結果
int digit(int num)
{
return num/(10*10*10);
}
調用數字(2345)還給2 - 如預期。
但是,如果我寫的函數以下列方式(其中 - 在我看來 - 相當於!!):
int digit2(int num)
{
return num/(10^3);
}
,然後調用digit2(2345),這還給260! ...這對我來說似乎完全瘋了! 我用下面的參數編譯在每種情況下: GCC -std = C99 -Wall -Wextra -Wpedantic -Werror
這到底是怎麼回事??? !!!!!
'10^3'意味着'10 XOR 3',這是'9'。 –
如何在C中將一個數字提高到X的冪次? –
[爲什麼我的權力運營商(^)不工作?](https://stackoverflow.com/questions/4843304/why-is-my-power-operator-not-working) –