Найдите ошибки в следующем коде

Дан код:

В коде есть две ошибки.

Первая заключается в том, что используется тип unsigned int, который работает только со значениями, большими или равными нулю. Поэтому условие цикла for всегда будет истинно, и цикл будет выполняться бесконечно.

Корректный код, выводящий значения всех чисел от 100 до 1, должен использовать условие i > 0. Если нам на самом деле нужно вывести нулевое значение, то следует добавить дополнительный оператор printf после цикла for.

Вторая ошибка — вместо %d следует использовать %u, поскольку мы выводим целые значения без знака.

Теперь этот код правильно выведет список чисел от 100 до 1, в убывающем порядке.

Разбор взят из книги Гейл Л. Макдауэлл «Cracking the Coding Interview» (есть в переводе).