求解析,这个代码的思路流程

#include <stdio.h>

int main(void)
{
int val;/存放待确认的数字/
int m;
int sum = 0;

printf("请输入待判断的数字: ");
scanf("%d",&val);

m = val;
while (m)
{
    sum = sum * 10 + m%10; 
    m/= 10;
}
if (sum == val)
    printf("yes!\n");
else
    printf("no!\n");
    

}

就是把数字反向,比如输入123,sum最终等于321,判断是否相等,即判断这个数字是否是会文数字