Тип преобразования - неподписанный в подписанный int / char
Я попытался выполнить следующую программу:
#include
int main() {
signed char a = -5;
unsigned char b = -5;
int c = -5;
unsigned int d = -5;
if (a == b)
printf("\r\n char is SAME!!!");
else
printf("\r\n char is DIFF!!!");
if (c == d)
printf("\r\n int is SAME!!!");
else
printf("\r\n int is DIFF!!!");
return 0;
}
Для этой программы я получаю вывод:
Чар является DIFF !!! INT то же самое!
Почему мы получаем разные результаты для обоих?
Должен ли вывод быть таким, как показано ниже?
Чар это то же самое! INT то же самое! A