递归求加法的问题在于前驱和后继的表示:prior(a),next(b),该怎么办呢?
#include<stdio.h>
int addint(int a, int b)
{
if (a > b) {int c = a;a = b;b = c;}
return 0;
}
int add(int a, int b)
{
if (a == 0) {return b;}
else {return add(prior(a),next(b));}
}
int main()
{
int a, b;
scanf_s("%d %d", &a, &b);
addint(a, b);
add(a, b);
printf("%d", b);
}