C++中CONTINUE问题

大哥们帮我讲解下,C++中CONTINUE问题?

while (cin && cin.get() != '\n')
continue;
这段程序有意义吗,WHILE下面就一CONTINUE,就算碰见回车和没碰见回车又怎么样呢
最新回答
离人乱他心

2024-12-01 03:41:59

碰见回车就跳出循环
追问
我知道,我的意思是这段程序有没实际意义,根本就没做什么,跳出循环了又怎么呢,
它压根没做什么
追答
跳过一行
追问
跳过一行?你怎么判断的。哪个语句判断的
追答
一行的最后一个字符是'\n',当cin.get() == '\n'时,(cin && cin.get() != '\n')为假,也就跳出喽
追问
你分析的很离谱错的
聆听ゝ尔伈

2024-12-01 17:50:46

意义在于,cin的内部指针,现在指向了回车,也就是说,回车之前的内容都忽略了....下次使用cin的时候,从回车后的字符开始...
比如cin的缓冲区中 asdfasdg(回车)sdgasdg
当执行该代码后,
string x;
while (cin && cin.get() != '\n')
continue;
cin>>x;
那么必然是sdgasdg.....
追问
你分析的很离谱  错的