// 文字列の終端まで、繰り返す
for(i=0;s[i] != '\0';i++){
if(isspace(s[i])){ // 空白なら
count++;
}else if(isxdigit(s[i])){ // 16進数字なら
// 小文字を大文字にして、A を起点にしてから、さらに10を足す
num = toupper(s[i]) - 'A' + 10;
value *= 16;
value += num;
}
}

コードを書くよりも、コードを読む方が、何倍も時間がかかるから、コードを読まないように

「仕様書 → コード」は簡単だが、「コード → 仕様書」は難しい。
なぜなら、仕様書は人間に近い表現だが、コードは機械に近い表現だから

「コード → 仕様書」は難しいから、やってはいけない