c语言16进制转10进制问题

如题所述

第1个回答  2020-01-07
不知道你的问题是什么,就照着写了个,测试通过
#include
<stdio.h>
int
shift16_10(char
num[]);
int
main()
{
char
a[100];
printf("请输入一个16进制的数:\n");
scanf("%s",
a);
int
n=shift16_10(a);
printf("%d",
n);
return
0;
}
int
shift16_10(char
num[]){
int
sum=0,
i=0;
while(num[i]
!=
'\0')
{
sum*=16;
if(num[i]>='0'
&&
num[i]<='9')
sum+=num[i]-'0';
else
if(num[i]>='A'
&&
num[i]<='F'){
sum+=num[i]-'A'+10;
}
else
if(num[i]>='a'
&&
num[i]<='f'){
sum+=num[i]-'a'+10;
}
i++;
}
return
sum;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网