【发布时间】:2013-07-12 16:45:53
【问题描述】:
我是 C 编程的初学者,我有一个问题。我举一个简单的代码为例:
#include <stdio.h>
int main( void )
{
int x;
printf( "Please type the number 10." );
scanf( "%i\n", &x );
if ( x == 10 )
printf( "Thank you!\n" );
return 0;
}
正如预期的那样,当我编译并运行这个程序时,我的终端显示消息:
"Please type the number 10."
然后它等待输入,所以我输入它要求输入的数字 (10),然后按 ENTER。问题是,在我按一次 ENTER 后,它会移动到新行并等待更多输入。只有在输入 10 并再次按 ENTER 后,它才会真正继续(...显示“谢谢!”)。
看来我必须按两次 ENTER 才能接受我的输入。有谁知道为什么会这样?
【问题讨论】:
-
你确定它只发生在
printf之后吗? -
改成
scanf( "%i", &x );(没有\n)
标签: c