十六进制转十进制数,代码如下
#include
#include
int main()
{
int i=0,j,a[100],n=0;
char x;
scanf("%c",&x);
for(i=0;x!=0;i++)
{
a[i]=x%10;
x=x-a[i];
x=x/10;
}
for(j=0;j<=i;j++)
{
n=n+a[j]*pow(16,j);
}
printf("输入的数转为10进制是%d\n",&n);
}
不管输入的数字是多少都输出6487132
我感觉思路没问题啊!求纠错
你x变量是字符类型每次只会读取你输入的第一个字符
用整形接受呀