请问为什么输入的是321逆序输出的结果是300?
#include<stdio.h>#include<math.h>
int main()
{
int a,b,d,e,g,h,i,f=0,e1,e2;
int c[5];
printf("输入一个不多于五位数的正整数a\n");
scanf("%d",&a);
for(b=4;b>=0;b--)
{
i=pow(10,b);
for(d=1;d<=9;d++)
{e1=d*i;
e2=a-e1;
if(e2<0&&e2+i>0)
{c[f]=d-1;
if(c[f]>=0)
{f=f+1;
//printf("共有%d位\n",d-1);
printf("每一位数字%d\n",c[f]);
}
break;}
}}
printf("a共有%d位\n",f);
for(g=f-1;g>=0;g--)
printf("逆序输出a%d",c[g]);
return 0;
}
运行时输入321后出现的结果是这样的:
输入一个不多于五位数的正整数a
321
每一位数字-858993460
每一位数字-858993460
每一位数字-858993460
a共有3位
逆序输出a3逆序输出a0逆序输出a0Press any key to continue