scanf возвращает 2, неверно

Мне необходимо принять два целых числа и в случае, если в какую-либо из переменных передано неверное значение, прервать программу и вывести n/a

if(scanf("%i%i", &a, &b) != 2) {
     printf("n/a\n");
     return 1;
}  

Проблема в том, что программа работает отлично, пока я не ввожу, например, "2 13.3" В этом случае scanf все равно возвращает 2 и передает в переменную b значение 13 Однако, если ввести "13.3 2", то все работает как ожидаемо


Ответы (0 шт):