首頁  >  問答  >  主體

c++ - 新手简单问题:while的跳出条件

高洛峰高洛峰2714 天前543

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-04-17 14:26:53

    程式碼會一直循環測試輸入流是否正常,直到輸入流到達檔案結尾,或輸入流出錯。

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

    回覆
    0
  • 阿神

    阿神2017-04-17 14:26:53


    樓上正解

    回覆
    0
  • 取消回覆