Найдите ошибку в коде

Найдите ошибку в коде
Вот сам код:
unsigned int i;
for (i = 100; i >= 0; --i)
    printf("%d\n", i);
В этом коде есть две небольшие ошибки, которые вам стоит найти.

Ошибки

Первым делом, стоит обратить внимания на неправильное определения переменной i. Дело в том, что в данном случае оно является неверным. Тип unsigned int говорит о том, что значения этой переменной могут быть только цифры, при чем только положительные цифры без знака минус. Данная запись приводит к тому, что цикл будет выполняться вечно, так как условие всегда будет истинным (true)

Корректный код состоял бы из такого условия i > 0. Он мог бы вывести все значения, кроме нуля. Цикл завершился бы и тогда мы могли бы после самого цикла прописать еще и вывод 0. К примеру, у нас бы получилось нечто вроде этого:
unsigned int i;
for (i = 100; i > 0; --i)
    printf("%d\n", i);
printf("%d\n", i);
Вторая ошибка намного проще и заключается в том, что мы используем %d вместо того чтобы использовать %u. Поскольку мы выводим числа без минуса, то именно так должно все быть. В итоге у нас получился вот такой код, который верно выводит значения от 100 до 1:
unsigned int i;
for (i = 100; i > 0; --i)
    printf("%u\n", i);
()
Количество показов: 213
17 ноября 2016

Возврат к списку

Корзина0 позиций на сумму 0 руб.