1. 程式人生 > >c程式語言設計 2-3

c程式語言設計 2-3

第四彈?

寫了一個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; } }