Я читаю второе издание книги K & R, и одно из упражнений требует печати всех максимальных целых значений, определенных в заголовке limits.h. Тем не менее, это ...Почему printf() выводит -1 для больших целых чисел?
printf("unsigned int: 0 to %d\n", UINT_MAX);
... выводит следующее:
unsigned int: 0 to -1
Почему я получаю -1? Кто-нибудь может объяснить это поведение?
Я использую компилятор Digital Mars C на Vista.
Как в стороне, ваш компилятор должен быть в состоянии предупредить вас об этой ошибке. Если это не так, посмотрите, можете ли вы включить дополнительные предупреждения или подумать об использовании другого компилятора. –