写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
其中用到了strtol()函数,将一个base进制的字符串转换成10进制长整数
/*************************************************************************
> File Name: e6.c
> Author: LNM
> Mail: liunenming@gmail.com
> Created Time: 2018年08月21日 星期二 20时35分32秒
>function:写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
************************************************************************/
#include<stdio.h>
#include<string.h>
#define MAX 100
void Hex2Dec(char *);
int main()
{
char str[MAX];
while(gets(str))
{
Hex2Dec(&str);
}
}
void Hex2Dec(char *str)
{
long int res;
char *endptr;
if(str[0] == '0' && (str[1] == 'x' || str[1] == 'X'))
{
res = strtol(str + 2,&endptr,16); //strtol(*str,*endptr,base),convert *str in base to a interger
printf("%d\n",res);
}
}