scanf 没有在等待输入。提出的其他问题有:\n 留在标准输入中,因为他们在 scanf 之前按了 ENTER。在我的例子中,我做的第一件事是运行 scanf -> no\n leftover 在我的例子中。我是 golang 的新手,但根据我的 C 概念,我没有做错什么。
还尝试了 fmt.Scanf("%d\n",&n) <--- 但它没有任何意义,因为此扫描没有\n 剩余。
func main() {
var a int = 0
var b int = 1
var c int
var n int
fmt.Scanf("%d\n",&n)
//fmt.Printf("%d \n",n)
var i int
fmt.Printf("%d %d ", a, b)
for i = 0; i < n-2; i++ {
c = (a + b) % 10
fmt.Printf("%d ", c)
a = b
b = c
}
}
下面是我在 Playground 上的代码链接 https://play.golang.org/p/_OWtakKsDHn
我得到结果: 0 1 程序退出。
最佳答案
遗憾的是,go playground 不支持控制台输入。 它甚至在 GitHub 问题上被提及 here他们不打算将此作为一项功能。
此外,如果您查看 this评论说明您的问题的可能解决方案,如果您将其分配给文件,则允许您从 Playground 上的 os.Stdin 读取。
关于go - fmt.Scanf 不等待控制台输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57826022/