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

拥有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,以及其回傳值

阿神


樓上正解

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板