[求助]进制转换程序出错
#include<stdio.h>
void main()
{
int a[10],b,i=0,base;
printf("please input your number:");
scanf("%d",&b);
printf( "你想转换的进制(大于等于0小于等于16):");
scanf("%d",&base);
printf("%d\n",base);
if(base<0||base>16 )
printf("error!");
while(b!=0&&i<10)
{
a[i]=b%base;
b=b/base;
i++;
}
for(i;i>=0;i--)
{
switch(a[i])
{
case'10':printf("A");break;
case'11':printf("B");break;
case'12':printf("C");break;
case'13':printf("D");break;
case'14':printf("E");break;
case'15':printf("F");break;
default:printf("%d",a[i]);break;
}
}
}
在这个程序中我输入2, 想转换为2进制,却得不到正确结果.
这是怎么回事啊