我在调用 scanf() 时输入 Ctrl - D (EOF),然后忽略下一个 scanf

I input Ctrl - D (EOF) when called scanf(), then next scanf ignored

我在调用 scanf() 时输入了 Ctrl - D (EOF),然后忽略了下一个 scanf。

#include <stdio.h>

int main()
{
   int input;
   scanf("%d", &input);//I press Ctrl-D when this line
   scanf("%d", &input);//this line just passed. not read my input. why?
   return 0;

}

我想在第二次调用 scanf() 时获取输入。 有什么问题吗?

看来你的代码没问题。唯一的想法是记得在两个输入数字的末尾按 "return"。我以 "better" 的方式重写了你的代码:

#include <stdio.h>
int main(){

int input1,input2;
printf("Digit the first number: ");
scanf("%i", &input1);//Press return at the end
printf("Digit the second number: ");
scanf("%i", &input2);//Press return at the end
printf("input1:%i\tinput2:%i\n",input1,input2);
return 0;
}