关于这样的问题,如何解决?(语言-c语言)

请大师帮忙看看为什么用if判断a与b是否相等时的a怎样得到输入时的a
Description
输入一个整型数,判断是否是对称数,如果是,输出yes,否则输出no,不用考虑这个整型数过大,int类型存不下,不用考虑负值;
例如 12321是对称数,输出yes,124421是对称数,输出yes,1231不是对称数,输出no
Input
一个整型数
Output
输出是yes,或者no

#define _CRT_SECURE_NO_WARNINGS
#include 

int main()
{
    int a;
    int b;
    int tmp;
    scanf("%d", &a);
    b = 0;
    while(a!=0)
    {
        tmp = a % 10;
        b = b * 10 + tmp;
        a = a / 10;
    }
    if (a == b)//此时的a如何转成当时输入时的a;
    {
        printf("yes\n");
    }
    else {
        printf("no\n");
    }
    return 0;
}

你在while里直接修改a了
你需要在修改a之前用另一个变量先记录下它的值