求高手解答C++问题。

2025-01-02 18:19:28
推荐回答(3个)
回答1:

cin.get() 接受回车字符,
因为输入以回车结束, 而这个回车字符不会被getline接收,那么输入缓冲里还剩下一个回车字符,下次getline会只接收这个回车字符。所以需要用cin.get()先接收这个回车字符。

回答2:

1.接收输入缓冲区内上次输入的结束符'\n',从而使下一次输出正常进行,否则以后的输入遇到'/n'就结束,什么也没有输入进去!

回答3:

上一次的输入还留有一个回车符,cin.get()就是为了吞掉这个回车符的否则当你再用getline(cin,p[i].company)是读入的将是回车符。