c++ - 新手简单问题:while的跳出条件
高洛峰
高洛峰 2017-04-17 14:24:53
0
2
599
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(2)
洪涛

该代码会一直循环测试输入流是否正常,直到输入流到达文件末尾,或者输入流出错。

  1. while括号里的表达式不是应该结果是bool类型吗?为何可以是输入语句呢?

    while括号中的表达式的确是bool类型,所以你可以纠结一下 `cin >> n`这个表达式的返回值到底是什么(`>>`正常读取,返回的是cin的地址值;读入错误时,则返回0)
  2. Q: 那它又如何跳出呢?难道输入的数是0才跳出循环?

    跳出循环的两种输入方式:
    windows下 `ctrl+z`
    linux下 `ctrl+d`
    

恩。。。。其实我也是一知半解,但我比较纠结的是你所说的“查不到”,如果你是真的查不到答案,我想分享一下我的体验。
首先呢,对于像我这样的资深小白来说,一直坚信着:只有想不到的小白题,没有查不到的答案。
然后咧,就有啥查啥呗,比如这道题,你可以随意摆渡一下 while(cin>>n),就会发现一堆你想要的答案(eg.啥时候能跳出循环);
再然后,像你这样已经不只是纠结于什么时候能停,而考虑起关于表达式值的问题,完全可以去查whilecin >> n的返回值,看看到底暗藏什么玄机。
小白伸手党很容易做的,不过显然不如自己一层一层抽丝剥茧地去追溯一个问题来得有趣(这个话是用来鼓励我自己的XD)

另分享一个挺棒的答案:cin,cout,以及其返回值

阿神


楼上正解

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿