You can lose this key…

You can lose this key on your keyboard and still write perfectly decent code. Which letter of the alphabet isn’t used in any of the ANSI C keywords?

(How ironic!)

[yes, I forgot ‘q’]

Author: landon

My mom thinks I'm in high tech.

19 thoughts on “You can lose this key…”

  1. a: float
    b: break
    c: struct
    d: unsigned
    e: unsigned
    f: float
    g: goto (seriously?)
    h: while
    i: unsigned
    k: break
    l: float
    m: enum
    n: unsigned
    o: float
    p: typedef
    r: struct
    s: unsigned
    t: float
    u: unsigned
    v: void
    w: while
    x: extern
    y: typedef
    z: sizeof

    So the answer is j and q. What’s ironic about that?

  2. Well, expanding from just keywords to all of the other characters used in the language I get this set:


    As the shift key is needed for some, I added the characters for those keys that are already in there (ex: ‘^’ is in there, so I added ‘6’). Subtracting this set from the printable characters set (at least in Python’s string module) yields the J, Q, 2, 4, tab and return/enter key. Using trigraphs frees up the \, 6, 3, [, ], and ` keys.

  3. I concur, two letters.

    And I’m definitely losing something because I don’t find the irony in those two letters.

    1. I use i, j, & k as loop indices all the time (if I ever get to k, I usually know that something’s wrong with my algorithm ;-).

      Also, since I use Qt, there’s no way in hell I could get by without my ‘Q’ key. 😛

  4. Saw this again and realized: with omni complete (or similar features in IDEs) there are a lot of letters I could probably dodge. I only need to be able to start all the keywords, and it omni complete itself uses only Ctrl + X/O/N/P. Maybe not even N/P if you’re excessively careful.

    But it’s a moot point, because I wouldn’t use vim without all the letters.

  5. I learned to remap keyboard emulators back in the day, when the D key broke on the Duplix (1980’s vintage unix) system console.

Leave a Reply

Your email address will not be published. Required fields are marked *