问外面的循环哪里有问题

img


求两个翻转数的和,内部求翻转数没有问题,外面的大循环出了问题,请问哪里的问题。
翻转数18变为81,150变为51

fan变量你没有初始化为0

这样编写代码不适合,因为你不知道你的数是几位数,这样会导致b和j会重复赋值,取代原先,有问题的,就算把fan初始化为0,输入18和150得出来的结果是对的,但是其它结果却是不对的,比如:

img


这个就是不对的,全部是用你的代码进行测试,所以还是把思路转换一下,对于不确定位数的翻转数之和,可以参考:

#include<stdio.h>
int fun(int x)
{
    int ans=0;
    while(x!=0)
    {
        ans=ans*10+x%10;
        x=x/10;
    }
    return ans;
}
int main( ){
    int i=2,a,b,x,y;
    scanf("%d",&x);
    a = fun(x);
    scanf("%d",&y);
    b = fun(y);
    printf("%d",a+b);
    return 0;
}

img