#include int lower(int c) { if (c >= 'A' && c <= 'Z') { return c + 'a' - 'A'; } else { return c; } } int atoi(char s[]) { int i, n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i) { n = 10 * n + (s[i] - '0'); } return n; } /* convert string of hex digits into int digits */ int htoi(char s[]) { int i, n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= 'f'; ++i) { if (s[i] >= '0' && s[i] <= '9') { n = 16 * n + (s[i] - '0'); } else if (s[i] >= 'A' && s[i] <= 'F') { n = 16 * n + (s[i] - 'A' + 10); } else if (s[i] >= 'a' && s[i] <= 'f') { n = 16 * n + (s[i] - 'a' + 10); } } return n; } int main() { printf("%d\n", htoi("1f")); return 0; }