C++ while()括号里的原理
来源:互联网 发布:网络电影怎么发布 编辑:程序博客网 时间:2024/05/17 03:25
不足不妥不对之处,望不吝赐教
昨天在看网友写的代码的时候,看到了如下代码:
<span style="font-size:18px;">#include <iostream>#include <iomanip>using namespace std;int main(){ int i; cout<<"i="; while(cin>>i) { cout<< "i="<<i <<endl; } return 0;}</span>当输入非int的量,就跳出循环;
输入int型,就循环
当时比较疑惑,while()的括号 :不是值为0就跳出 ,非0就循环吗? 这个对输入值的类型的判断,是个什么情况
自己查资料,可能是检索方式不行,总之没找到相关依据。最后还是向无所不能的泽哥请教,并得到答案。这里表示感谢。
cin>>i返回的也是一个cin对象。
当一个cin对象作为条件选择、循环等的控制表达式时,编译器会将其转换为真值表达式,如果cin的iostate为goodbit,则这个真值表达式的结果为真,否则为假。
输入一个非数字可以转换为failbit,从而结束循环,当然这是一个非正常退出。
正常退出可以用键盘模拟产生EOF,表示流输入结束了。在windows中可以输入ctrl+z,unix/linux中则为ctrl+d。
数字的话。 cin的iostate为goodbit,也就是真值。
0 0
- C++ while()括号里的原理
- c 语言的 While 没有花括号的用法
- 宏里的括号!!!!!!!!!!!
- 【c语言】判断一个文件里的括号是不是匹配
- C语言关于在main里的while(1)的子函数赋初值
- C语言 scanf在while循环里的无限循环
- 编译器括号检查原理(C)
- c语言中while语句括号内加逗号的用法
- shell里的各种括号
- 几种shell里的小括号,大括号结构和有括号的变量,命令的用法 (转载)
- shell里的while循环
- JSON里的大括号{}和中括号[]。(关于JSON的结构)
- 栈的应用-去掉括号和括号里内容
- C++ 字符串删除匹配括号及括号里的内容
- while(1);是死循环的意思。只要括号里为非零,也就是真值,它就一直循环这条句子。
- C语言括号匹配【堆栈原理】
- while(cin>>a)的原理
- 正则表达式替换括号里的空格
- JVM基础知识与配置
- LengthFieldBasedFrameDecoder
- 凑硬币
- TinyXML2读取和创建XML文件
- 在iOS8.0之后的UIAlertView和UIActionSheet的新写法
- C++ while()括号里的原理
- 【转载】Java学习之 多态 Polymorphism
- 非常好的理解遗传算法的例子
- POJ 3461--Oulipo【KMP】
- Android注册短信验证码功能
- 教程学习笔记 Digital Tutors – Utilizing Advanced Shading Techniques Using V-Ray in Maya
- 【Android L】Material Design低版本实现之【应用主题并且修改状态栏颜色】
- 华为练习 对象管理器
- Sharepoint 2013 管理APP store(打开,禁用和只有审批后才能够买)