我一直在嘗試撰寫一個程式,它接收用戶的整數輸入并執行一些計算。發生的情況是,每次交替時,程式都會在沒有輸入任何輸入的情況下過早結束。Scanf 和 Scanln 都遵循相同的行為。
相關代碼:
func main() {
var N int
var output []int
fmt.Println("Enter test cases")
//This bottom line executes only every alternate time
fmt.Scanf("%d", &N)
testCases(N, N, output)
}
它列印“輸入測驗用例”行并且程式終止。但是當我再次運行該程式時,它會繼續運行。每次我嘗試運行程式時,這種模式都會重復。
uj5u.com熱心網友回復:
最好使用 bufio 包,它實作了緩沖 I/O。scanf/scanln 是無緩沖的。
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
input := scanner.Text()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/343538.html
標籤:走
