c语言中16进制转换为十进制
#include<stdio.h> long fun(char*s); #define N 50 void main() { long m; char s[N]; printf("输入十六进制数: "); scanf("%s",s); m=fun(s);
printf("%ld",m); }
long fun(char*s) { int i,t; long sum=0; for(i=0;s[i];i++) { if(s[i]<='9')t=s[i]-'0'; else t=s[i]-'a'+10; sum=sum*16+t; } return sum; }
我运行过了,能够得出正确答案
|