逆序后四位数 我哪写错了

任务描述
程序每次读入一个至少4位数的正整数,然后输出其后4位按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入57000,输出应该是7。

输入格式:
每个测试是一个正整数。

输出格式:
输出逆序的数。

img

int main()
{
    int a,b;
    scanf("%d", &a);

    b = 0;
    for (int i = 0; i < 4; i++) {
        b = b * 10 + a % 10;
        a /= 10;
    }

    printf("%d", b);
}

输入11001、10000输出什么?

修改如下,供参考:

#include <stdio.h>
int main()
{
    int a,b;
    scanf("%d", &a);
    for(a %= 10000,b = 0; a ; a /= 10){
        b = b * 10 + a % 10;
    }
    printf("%d",b);
    return 0;
}