我用 讀一行,然后我用 讀一個字符串。bufio.NewReader(os.Stdin)fmt.Scanfpackage mainimport ( "fmt" "bufio" "os" )func main() { reader := bufio.NewReader(os.Stdin) var str string inp, _ := reader.ReadString('\n') fmt.Scanf("%s", &str) fmt.Println(inp) fmt.Printf(str)}輸入:This is a sentence.John我希望輸出如上所示,但事實并非如此。輸出:This is a sentence.實際上不起作用。問題出在哪里?和如何修復它?fmt.Scanf("%s", &str)
1 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
讀者。讀字符串(delim) 讀取所有內容,包括分隔符。因此,它在兩個輸入之間添加 \n。斷續器Printf(str) 最后沒有 \n,因此第二個輸出粘附到打印到 stdout 的下一個內容。
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var str string
inp, _ := reader.ReadString('\n')
fmt.Scanf("%s", &str)
fmt.Println(inp)
fmt.Printf(str)
}
輸入:
some line
John
輸出:
some line
John
下面是按所需運行的代碼。
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var str string
inp, _ := reader.ReadString('\n')
fmt.Scanf("%s", &str)
fmt.Print(inp)
fmt.Printf("%s\n", str)
}
- 1 回答
- 0 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消