#!/usr/bin/env cscript #include #include #include #include #define ALPHABET "ABCDEFGHIJKLMNOPQRSTUVWXYZ" int scan_column_index(const char column_string[3 + 1]) { int index; char *needle; for (index = 0, needle = &column_string[strlen(column_string) - 1]; needle >= column_string; needle--) { index += (1 + strchr(ALPHABET, *needle) - ALPHABET) * pow(1 + strlen(ALPHABET), needle - column_string); } return index; } int main(int argc, const char *argv[]) { printf("XFD -> %ld\n", scan_column_index("XFD")); return 0; }