Компилятор Microsoft C предупреждает, когда вы пытаетесь сравнить две переменные, а одна из них подписана, а другая - без знака. Например:
int a;
unsigned b;
if ( a < b ) { // warning C4018: '<' : signed/unsigned mismatch
}
Неужели это предупреждение в истории мира когда-либо попадалось в реальную ошибку? Почему это все равно?