我不明白为什么可能需要两次,这是我正在读的书的引用;
cin.get()语句读取下一个击键,因此该语句会导致程序等到按Enter键。 (在你之前没有按键被发送到程序 按Enter,所以按下另一个键是没有意义的。)如果是,则需要第二个语句 程序否则在常规输入后留下未处理的击键。例如,如果输入数字,则键入数字,然后按Enter键。程序将显示 数字,但Enter键击未经处理,然后由第一个读取 cin.get()。
我把它放在源代码中,并没有看到它存在两次。
您输入一些数字然后按Enter键结束程序,只有不同的是如果在结束前没有输入任何内容则按两次输入。
关键是要暂停程序,它会这样做,为什么要两次使用它?
答案 0 :(得分:8)
cin.get();
从输入中检索单个字符。因此,如果您在输入中5\n
(\n
等同于按 ENTER ),cin.get();
将返回5
,另一个{{1} }}将返回cin.get();
。如果您正在逐个阅读多个数字,请在\n
循环中说明,如果您忘记了while
字符,则可能会遇到问题。
使用\n
也可以在您阅读完所需或关注的字符后更正此问题。