1) char *s; doesn't *initialize* s to anything -- it just makes it use
some space... which may have a random value in it. That alone would
crash strcmp.
2) I've never seen a strcmp which was actually documented as treeting
NULL pointers specially. In particular, no linux version is
documented this way.
> I tried updating the compiler from GCC 2.6.3 to 2.7.2 - no help. I tried
Time to update your C programming textbook :-)