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 }