Consider the following snippet:
unsigned short a = 1;
unsigned long b = 2;
if (a <= b)
printf("a <= b\n");
Will give the warning:
C:\PELLESC\Bugs\Warning_bug.c(10): warning #2251: Operands of '<=' have types with different signedness: 'int' and 'unsigned long int'.