请问这是什么意思啊 while(cin>>s){cout<<s<<endl;}

来源:百度知道 编辑:UC知道 时间:2024/09/26 10:48:05
不怎么好理解,判断cin>>s什么呢啊
那输入什么东西,才会跳出循环呢

c++ primer是这样说的
上例中,用输入操作符来读取 string 对象。该操作符返回所读的 istream 对象,并在读取结束后,作为 while 的判断条件。如果输入流是有效的,即还未到达文件尾且未遇到无效输入,则执行 while 循环体,并将读取到的字符串输出到标准输出。如果到达了文件尾,则跳出 while 循环。

我想知道什么时候到达文件尾啊,或无效输入

那样的话,读到最后'\0'就结束了

如果s是数字
那么知道输入错误的时候才会跳出while
否则就是死循环
s为字符串的时候更是死循环

作用是将用户输入的字符打印出来,while(cin>>s){cout<<s<<endl;}是一个死循环,可以加上break条件来终止循环。例如:
while(cin>>s)
{
if(s==0) //假设是int型
break;
cout<<s<<endl;
}
用户输入0时跳出循环