C语言 scanf读取多行的问题

2024-11-06 19:25:41
推荐回答(5个)
回答1:

我也遇到过这个问题,这个是因为scanf在接收到你给的第一行字符后,在要接收下一行字符时,把你留在缓存的回车字符接收了进来,然后就自动运行了(你输入回车换行的时候,回车字符会被记入缓存)。所以可以你scanf的语句后面跟一个语句来清空缓存。语句为: fflush( stdin ); 就可以实现读取多行了。

回答2:

这个貌似只有分几次读了。linux3种模式下都不能屏蔽回车的问题。

回答3:

请更详细地描述你的需求。比如说,给出输入数据的样例,2~3行即可。
嗯,如果只是想读取多行,char str[128];while (gets(str) > 0){;}即可

回答4:

scanf("&d &d",a,b);

fflush(stdin);
scanf("&d &d",c,d);
fflush(stdin);

回答5:

{ int a,b; printf(