ANSI doesn't specify whether char is signed or unsigned by default.
The Sun C compiler makes signed char the default.
The SVR4/386 C compiler makes signed char the default.
The AIX C compiler makes unsigned char the default.
A signed char comparison of two characters will yield incorrect results if the signs of the characters differ.
The signed char representation of an extended 8bit character is negative.
Vendor-supplied string functions are expected to do unsigned char comparisons.