今天,筆者在做本校ACM校賽網絡賽的時候,遇到輸入格式中有這樣的要求:輸入包含多行數據,請處理到文件結束。題目的邏輯很簡單,主要功能代碼很容易實現,但是題目中沒有“明確”指出控制台中輸入數據以什麼方式結束,例如:#、雙回車等等。筆者嘗試了利用clock_t變量控制程序運行時間,但是在評判平台顯示“編譯錯誤”。在認真分析後,筆者得到答案,“輸入包含多行數據,請處理到文件結束”的含義是,當輸入足夠數據後,可以使用“Ctrl+Z”退出控制台,即為“處理文件結束”,原因是:Ctrl+Z會使scanf()函數返回-1,所以在處理該類問題的時候可以利用“while(scanf("%d%d",&a,&b)!=EOF){function();}”來實現。