我有一个非常简单的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) –