Найдите ошибки в следующем коде
70К открытий70К показов
Дан код:
В коде есть две ошибки.
Первая заключается в том, что используется тип unsigned int, который работает только со значениями, большими или равными нулю. Поэтому условие цикла for всегда будет истинно, и цикл будет выполняться бесконечно.
Корректный код, выводящий значения всех чисел от 100 до 1, должен использовать условие i > 0. Если нам на самом деле нужно вывести нулевое значение, то следует добавить дополнительный оператор printf после цикла for.
Вторая ошибка — вместо %d следует использовать %u, поскольку мы выводим целые значения без знака.
Теперь этот код правильно выведет список чисел от 100 до 1, в убывающем порядке.
Разбор взят из книги Гейл Л. Макдауэлл «Cracking the Coding Interview» (есть в переводе).
70К открытий70К показов



