golang windows下第二次scanf读取输入失效

阅读 16

2023-04-08


发现一个有意思的bug

package main

import "fmt"

func main()  {

	var av float64 
	var all float64

	for i:=1; i<4; i++ {
		var a int
	    var b int 
	    var c int
	    var d int
	    var e int
		fmt.Printf("请输入%v班级的成绩 以空格分开\r\n", i)
		fmt.Scanf("%d %d %d %d %d", &a, &b, &c, &d, &e)
		av = float64((a + b + c + d + e)/5)
		all += av
		fmt.Printf("平均分为%v \r\n", av)
	}
	fmt.Printf("总平均分为%v \r\n", all/5)

}

上述代码在执行的时候第二次scanf输入将不会被执行
在liunx环境下没有问题
windows需要在scanf里面加入\n 换行符才能执行


精彩评论(0)

0 0 举报