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

时间:2017-05-25 08:17:15

标签: c scanf stdin eof

我在调用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()的输入。 什么是问题?

1 个答案:

答案 0 :(得分:0)

似乎您的代码没问题。唯一的想法是记住在两个输入数字的末尾按“返回”。我以“更好”的方式重写代码:

#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;
}