c语言编程题输出逆序数

编程计算并输出一个三位整数的逆序数,这样咋错了,警告说 不兼容,请指教一下

img

x = fabs(x);


输入一个不多于5位的正整数,判断他是几位数,并逆序输出。
#include<stdio.h>
void main()
{
     int a,b,c,d,e;
     long x;
     printf("请输入一个不多于5位的正整数:");
     scanf("%d",&x);
     a=x/10000;
     b=x%10000/1000;
     c=x%1000/100;
     d=x%100/10;
     e=x%10;
     if(a!=0)
     printf("它是个5位数,%d,%d,%d,%d,%d\n",e,d,c,b,a);
      else if(b!=0)
     printf("它是个4位数,%d,%d,%d,%d,%d\n",e,d,c,b);
      else if(c!=0)
     printf("它是个3位数,%d,%d,%d,%d,%d\n",e,d,c);
      else if(d!=0)
     printf("它是个2位数,%d,%d,%d,%d,%d\n",e,d);
      else 
     printf("它是个1位数,%d\n",e);
}

img

img


第一张是DEV C++的提醒,第二张是我的作业软件,按图中那样都不对啊