include<stdio.h>
  2 
  3 long str16_num10(char *str);// 形参str是字符串所给的16进制数。
  4                            //返还值x是字符串的10进制数。
  5 int ch16toi(char ch);//返回字符ch对应16进制数。
  6 
  7 int main()
  8 {
  9         long s = 0;
 10         char str[] = "f";
 11         s = str16_num10(str);
 12         printf("%d\n",s);
 13 }
 14 
 15 
 16 long str16_num10(char *str)
 17 {
 18         char *p;
 19         long x = 0;
 20 
 21         for(p = str;*p != '\0';p++)
 22         {
 23                 x = x*16+ch16toi(*p);
 24         }
 25         return x;
 26 
 27 }
 28 
 29 
 30 int ch16toi(char ch)
 31 {
 32         if(ch >= '0'&&ch <= '9')
 33         return ch-'0';
 34 
 35         if(ch >= 'a'&&ch <= 'f')
 36         ch = ch-32;
 37         return ch-'A'+10;
 38 }