算法
求两个数之和,但不能使用加号运算符
方法一:
int add(int a, int b){
return a-(-b);
}
方法二:
int add2(int a,int b){
while (a>0) {
b++;
a--;
}
while (a<0) {
b--;
a++;
}
return b;
}
方法三:
int add3(int a, int b){
// 利用星号(*)将宽度精度传递给printf()
return printf("%*s%*s",a,"",b,"");
}
方法四:
int add4(int a, int b){//半加法逻辑
if (!b) {
return a;
}
int sum = a ^ b;//异或
int carry = (a&b)<<1;//与
return add4(sum, carry);
}