我試圖通過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