При тестировании программы (на C) для предотвращения любых ошибок я щелкнул \ случайно, когда программа запросила целое число. Затем цикл while начинает сбой. Пример:Ввод неожиданного ввода приводит к сбою цикла (C)
int a;
while(1){
scanf("%d",&a);printf("%d\n",a);
a--;
if(a==0){break;}
}
Всякий раз, когда я ввожу число, он должен печатать одинаковое число. Но когда я набираю символ, он будет распечатывать все числа ниже предыдущего ввода, а затем начинает печатать все цифры ниже него до 1. Может ли кто-нибудь дать ключ к устранению этой проблемы? Большое спасибо.
Редактировать: Эта программа является всего лишь образцом ошибки, фактическая программа намного больше этого.
Я бы посоветовал вам не использовать scanf. По крайней мере, проверьте его возвращаемое значение. –
Какова цель вашей программы? Должно ли печатать значения ниже заданного числа, пока вы не достигнете 0? – user5478656
@ user5478656 Эта программа просто печатает, что вы набрали до ввода 0. –