提示多个用户输入失败

时间:2018-04-11 00:33:34

标签: go

package main

import "fmt"

func main() {  
    var inStr string  
    var inStr2 string  
    fmt.Printf("Input? ")  
    fmt.Scanf("%s", &inStr)  
    fmt.Printf("\nOutput: %s\n", inStr)  
    fmt.Printf("Input2? ")  
    fmt.Scanf("%s", &inStr2)  
    fmt.Printf("\nOutput: %s\n", inStr2)  
}

这是输出

Input? 2
Output: 2  
Input2?   
Output:     
Success: process exited with code 0.  

如您所见,它不允许我输入input2;它退出了程序。

1 个答案:

答案 0 :(得分:2)

这些症状可能发生在Windows上,其中行可以以" \r\n"而不是" \n"。尝试向\n格式添加显式换行符(" Scanf")。例如,"%s\n"

package main

import "fmt"

func main() {
    var inStr string
    var inStr2 string
    fmt.Printf("Input? ")
    fmt.Scanf("%s\n", &inStr)
    fmt.Printf("\nOutput: %s\n", inStr)
    fmt.Printf("Input2? ")
    fmt.Scanf("%s\n", &inStr2)
    fmt.Printf("\nOutput: %s\n", inStr2)
} 

输出:

Input? 1

Output: 1
Input2? 2

Output: 2