Если вы хотите избежать операторов break
и continue
, переосмыслите лог c вашего кода.
Вместо проверки на E
внутри l oop и использования break
, проверить в контрольном выражении для оператора while
. Обратите внимание, что getchar()
может вернуть EOF
; сбой ввода приводит к тому, что getchar()
возвращает EOF
при последующих вызовах, и это приводит к тому, что отправленный код становится бесконечным l oop. Возможно, вы захотите обработать EOF
после l oop, если это является причиной выхода.
while ((c = getchar()) != 'E' && c != EOF)
{
++cnt;
if (c >= '0' && c <= '9')
++digit_cnt;
}
Вместо проверки, чтобы увидеть, если i == 0
, а затем с помощью continue
, проверьте, чтобы посмотрите, если i != 0
, а затем сделайте что-нибудь:
if (i != 0) {
total += i;
printf("i = %d and total = %d\n", i, total);
}