我试图通过while(scanf)
过程中采取8个输入。起初,我试了下面这段代码:与同时输入的问题(scanf函数):为什么使用getchar并不()保持输入要
while(scanf("Dia %d %d : %d : %d Dia %d %d : %d : %d",&day_start,&h1,&m1,&s1,&day_end,&h2,&m2,&s2)==8)
但是,在一次程序执行后,它终止。然后,我用一个getchar()
输入后,如下所示:
while(scanf("Dia %d %d : %d : %d Dia %d %d : %d : %d",&day_start,&h1,&m1,&s1,&day_end,&h2,&m2,&s2)==8)
{
getchar();
......;
}
这样做后,输入保存每次执行后怎么回事。那么,为什么使用getchar()
保持输入?
是因为,最后一个输入被当作输入并且在使用getchar()
之后,输入被输入了getchar()
?
我相信这是正确的。 getchar()读入换行符。 –
你应该读一整行使用fgets,然后在行上使用sscanf – Brandin