Почему это происходит с оператором sizeof при сравнении с отрицательным числом? [Дубликат]

На этот вопрос уже есть ответ:

ператор @sizeof () в операторе if 5 ответов

Что на самом деле здесь происходит? Вывод теперь "Ложь":

#include <stdio.h>

int main()
{
     if (sizeof(int) > any_negative_integer)
         printf("True");
     else
         printf("False");
     return 0;
}

Если я поменяю его на:

if (sizeof(int) < any_negative_integer)

вывод "True".

Обновление:тот же вопро уже спросили, я не мог найти его, прежде чем спросить.

Ответы на вопрос(2)

Ваш ответ на вопрос