十六进制转十进制。问题在哪里呢?
我自己弄了个很撇的程序,不要笑话哈。运行后没结果,请帮助分析下。谢谢#include "stdio.h"
#include "string.h"
#include "math.h"
void main()
{
char a[17]={"0123456789ABCDEF"};
char c[20];
int b[16]={'0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'};
int i=0,j=0;
int m,n,num=0;
gets(c);
m=strlen(c);
for(i=0;i<m;i++)
{
for(j=0;j<16;j++)
{
if(c[i]==a[j])
{
n=j;
num=num+b[j]*pow(16,(m-i-1));
}
}
}
printf("该十六进制的值为:%d",num);
}