Rn_Lamsuly @ 2020-11-14 21:13:44
#include<bits/stdc++.h>
using namespace std;
int add(int a,int b)
{
if(a&b==0)return (a|b);
return add(a^b,(a&b)<<1);
}
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d",add(a,b));
return 0;
}
by EDqwq @ 2020-11-14 21:18:08
sqlm
by impuk @ 2020-11-14 21:19:34
那这只能说明你比较菜。
by Graphcity @ 2020-11-14 21:19:34
输入是 0 0 就直接爆栈了
by 天命之路 @ 2020-11-14 21:31:11
@舒熙皓 不会吧,
by 天命之路 @ 2020-11-14 21:32:37
但这个函数真的有递归出口吗?怀疑
by Rn_Lamsuly @ 2020-11-14 21:34:32
所以我很好奇计算机是怎么用位运算来算加法的
by Graphcity @ 2020-11-14 21:35:32
后面的判断优先级不是高于与的吗 所以那个判断语句的返回值是 0
by Graphcity @ 2020-11-14 21:38:31
@肾小囊190350 判断语句那里 a&b
加一个括号就能过了
by Rn_Lamsuly @ 2020-11-14 21:40:10
@舒熙皓 我谢谢你
by Rn_Lamsuly @ 2020-11-14 21:41:11
@舒熙皓 所以==
的优先级比&
高