в моей программе я использую функцию scanf следующим образом:
if(((scanf("%c %d %d",&zp, &min, &max)) != 3)
|| (zp != 'c' && zp != 'l') || min < 0 || min > max){
if (! feof (stdin)){
printf("Wrong input.\n");
}
else{
return 1;
}
}
, поэтому я ожидаю, что когда я введу неправильный ввод, и это не EOF, будет запущен printf. Если я введу два или три неверных значения, это сработает;но когда input имеет только одно значение, он ничего не делает и ждет второго ... например, когда я ввожу:
l o b
, это работает;но когда я ввожу
a
, он ждет второго значения.
Есть идеи, почему это не работает?