版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40712616/article/details/79513070
第四弹?
写了一个htoi(),以及专用的atoi()。应为是复习所以那些麻烦的戳错处理还是懒得写。
正文开始→
#include <stdio.h>
int htoi(char bit16[]);
int ctoi(char ch);
void main(){
char h[6];
int c;
int i = 0;
while((c = getchar())!= EOF && c != '\n'){
if(i > 6 ){
printf("输入格式不正确");
return ;
}
h[i] = c;
i++;
}
c = htoi(h);
printf("%d \n",c);
}
int htoi(char bit16[])
{
int valu;
valu = ctoi(bit16[2])*16*16*16+
ctoi(bit16[3])*16*16+
ctoi(bit16[4])*16+
ctoi(bit16[5]);
return valu;
}
int ctoi(char ch)
{
int valu;
if(ch >= '0'&& ch <= '9')
{
valu = ch - ('0' - 0);
return valu;
}
if(ch >='a' && ch <= 'f')
{
valu = ch - ('a' - 10);
return valu;
}
if(ch >='A' && ch <= 'F')
{
valu = ch - ('A' - 10);
return valu;
}
else{
printf("存在非法值");
return -1;
}
}