请大家帮我看看这个程序 谢谢
输入一个十六进制数,输出相应的十进制数代码
#include"stdio.h"
#include"string.h"
int translat(char c)
{
if(c<='9'&&c>='0')return c-'0';
if(c>='a'&&c<='f')rerurn c-87;
if(c>='A'&&c<='F')return c-55;
return-1
}
int Htoi(char*str)
{
int i,stat,n=0;
int length=strlen(str);
if(length==0)return 0;
for(i=0;i<length;i++)
{
stat=translat(str[i]);
if(stat>=0) n=n*16+stat;
}
return n;
}
void main()
{
char Hex[20];
printf("输入十六进制数:");
gets(Hex);
printf("相应的十进制数为:%d",Hoit(Hex));
}
题开头中的translat(char c)的范围怎么理解,为什么要有return c-87和return c-55。
题中的Hoit,Hex是什么,为什么要出现stat,stat=translat(str[i])是什么意思.
麻烦 大家 了