编写一个函数,输入一个十六进制的字符串,输出其对应的十进制整数(函数类型为整型)
这是我写的程序,但输入比如20或者2AF5最后结果就是负数,要怎么修改?或者有没有其他解法?大神帮忙
#include<stdio.h>
#include<string.h>
int fun(char*);
main(){
char a[81];
printf("请输入十六进制字符串:\n");
gets(a);
fun(a);
}
int fun(char *a){
int i,j,sum=0;
for(i=0;a[i]!='\0';i++){
if(a[i]>10)
j=a[i]-'A'+10;
else
j=a[i];
sum=sum*16+j;
}
printf("对应的十进制数为:%d\n",sum);
}
慕运维2420015
相关分类