次のコードでは、unsigned short と unsigned char の両方が int よりも狭いと仮定します。
int f(void) { unsigned short us; unsigned char uc; return uc < us; } |
この例では、2 つの自動変数は int または unsigned int のどちらかに拡張されます。したがって、比較対象は符号なしになることも、符号付きになることもあります。しかし、どちらを選んでも結果は同じなので、警告は発行されません。