c程式語言設計 2-3
阿新 • • 發佈:2018-12-23
第四彈?
寫了一個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;
}
}