int addd(int a, int b)
{
if((b&a)==0)return a^b;
else
return addd(a^b, (a&b)<<1);
}
administrator@ubuntu:~/test/net/new$ ./t 5 7
5+7=12
administrator@ubuntu:~/test/net/new$ ./t 5 79
5+79=84
(b&a)==0
注意运算符的优先级
int addd(int a, int b)
{
if((b&a)==0)return a^b;
else
return addd(a^b, (a&b)<<1);
}
(b&a)==0
注意运算符的优先级