在以下代码中,假定 unsigned short 和 unsigned char 均比 int 短。
int f(void) { unsigned short us; unsigned char uc; return uc < us; }
在此示例中,两个自动变量会同时提升为 int 或 unsigned int,因此比较有时无符号,有时带符号。然而,由于两种选择的结果相同,因此 C 编译器并不向您发出警告。