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", то все работает как ожидаемо