Я пытаюсь выполнить этот блок кода.
#include <stdio.h>
int main(void)
{
printf("Start from here\n");
int e, f, g, h;
scanf("%d,%d", &e, &f);
scanf("%d, %d", &g, &h);
printf("%d %d %d %d", e, f, g, h);
}
Когда я ввожу 2,0
или что-то, что соответствует строке формата в первом scanf()
, также выполняется вторая scanf()
.
Однако, если я ввожу что-то вроде 2-0
в первый scanf()
, программа пропускает второй scanf()
и переходит прямо к printf()
Например, здесь ввод и вывод пробного запуска программы. Вторая строка - это вход.
Start from here
1-2
1 0 -2 -856016624u
Обратите внимание, как программа полностью пропустила второй scanf()
и сразу же перешла к printf()
. Почему здесь пропущен второй scanf()
?