Похоже, очень старая тема. Но я упомянул здесь решения и должен был создать собственное решение после тестирования различных программ, доступных в качестве решения на этом сайте. Я понял, что обработка числа как int не даст нужного обращения цифры, если число заканчивается на ноль (и). Поэтому я решил рассматривать число как строку, а затем поменять цифры. Таким образом, я получаю точную обратную цифру с точки зрения строки, а не математическую, которая отбрасывает нули в начале числа.
#include <stdio.h>
#include <string.h>
main()
{
char num[20];
int x=0,slen;
printf("Enter the number you want to reverse :");
scanf("%s",num);
slen=strlen(num);
char *pointertoarray = &num[slen];
for (x=slen;x>=0; x--){ printf("%c",*pointertoarray); pointertoarray--; }
printf("\n");
}