您好,现在蔡蔡来为大家解答以上的问题。百度此内容暂不支持评论什么意思,百度cin相信很多小伙伴还不知道,现在让我们一起来看看吧!
1、cin是输入操作符,cin>>a的过程是先取得从键盘的输入值a,并将a赋给cin,因此while(cin>>a)的意思就是只要输入的值有效,那么就执行while体内的语句。
2、实例设计如下:统计输入连续数字的个数,while循环结束 (跳出流对象)的时候,打印最后一个数 。
3、通过检测其流的状态来判断结束;(1)若流是有效的,即流未遇到错误,那么检测成功。
4、(2)若遇到文件结束符,或遇到一个无效的输入时(例如本题输入的值不是一个整数),istream对象的状态会变为无效,条件就为假。
5、2、执行结果如下(Z是按了ctrl的效果,为了结束执行):【不同的操作系统有不同的约定,在windows系统中,输入文件结束符的方法是先按Ctrl+Z,然后再按Enter。
6、在UNIX系统中,包括Mac OS X系统中,文件结束输入为Ctrl+D。
7、】扩展资料:while(cin>>a)的合法性:运算符返回的是流对象的引用,cin是一个流对象,而>>运算符返回左边的流对象,也就是说cin>>val返回cin,于是while(cin>>val)就变成了while(cin),问题就变成了一个流对象在判断语句中的合法性。
8、不管是while(cin)还是if(cin),都是合法的。
9、因为定义一个类,然后定义该类的对象,然后使用if语句来判断它是不合法的。
10、这说明,流对象具有某种转换函数,可以将一个流对象转换成判断语句可以识别的类型。
11、打开iostream.h文件中operator void *() const和bool operator!() const。
12、这两个函数使得流对象可作为判断语句的内容。
13、operator void *() const;函数在while(cin)或是if(cin)时被调用,将流对象转换成void*类型。
14、bool operator!() const;函数在while(!cin)或是if(!cin)时被调用,将流对象转换成bool类型。
15、此外,这两个类型转换都是隐式的。
16、参考资料:百度百科--cin(C++标准输入流)。
本文就为大家分享到这里,希望小伙伴们会喜欢。