为了账号安全,请及时绑定邮箱和手机立即绑定

fmt.Scanf 或 fmt.Scanln 未采用输入

fmt.Scanf 或 fmt.Scanln 未采用输入

Go
慕的地8271018 2022-10-10 17:56:37
我一直在尝试编写一个程序,该程序接受用户的整数输入并执行一些计算。发生的情况是,每隔一段时间,程序就会在没有任何输入的情况下提前结束。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)}它打印“输入测试用例”行,程序终止。但是当我再次运行该程序时,它会继续执行。每次我尝试运行程序时,这种模式都会重复。
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

更好地使用 bufio 包,它实现了缓冲 I/O。scanf/scanln 没有缓冲。


scanner := bufio.NewScanner(os.Stdin)

scanner.Scan()

input := scanner.Text()


查看完整回答
反对 回复 2022-10-10
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号