该段代码是将由十六进制数字组成的字符串转化为与之等价的整型值,字符串允许包含的数字包括:0~9,a~f,A~F)
int htoi(char* str)
{
int sum=0;
while(*str!='\0')
{
if(*str>='A'&&*str<='Z')
sum=((*str-'A')+10)+sum*16;
else
{
if(*str>='a'&&*str<='z')
sum=((*str-'a')+10)+sum*16;
else{
sum=sum*16+(*str-'0');
}
}
str++;
}
printf("%d",sum);
return sum;
}