84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
程式碼會一直循環測試輸入流是否正常,直到輸入流到達檔案結尾,或輸入流出錯。
while括號裡的表達式不是應該結果是bool型嗎?為何可以是輸入語句呢?
while括号中的表达式的确是bool类型,所以你可以纠结一下 `cin >> n`这个表达式的返回值到底是什么(`>>`正常读取,返回的是cin的地址值;读入错误时,则返回0)
Q: 那它又如何跳出呢?難道輸入的數是0才跳出循環?
跳出循环的两种输入方式: windows下 `ctrl+z` linux下 `ctrl+d`
恩。 。 。 。其實我也是一知半解,但我比較糾結的是你所說的“查不到”,如果你是真的查不到答案,我想分享一下我的體驗。 首先呢,對於像我這樣的資深小白來說,一直堅信著:只有想不到的小白題,沒有查不到的答案。 然後咧,就有啥查啥唄,比如這題,你可以隨意擺渡一下 while(cin>>n),就會發現一堆你想要的答案(eg.啥時候能跳出循環);再然後,像你這樣已經不只是糾結於什麼時候能停,而考慮起關於表達式值的問題,完全可以去查while和cin >> n的回傳值,看看到底暗藏什麼玄機。 小白伸手黨很容易做的,不過顯然不如自己一層一層抽絲剝繭地去追溯一個問題來得有趣(這個話是用來鼓勵我自己的XD)
while(cin>>n)
while
cin >> n
另分享一個挺棒的答案:cin,cout,以及其回傳值
樓上正解
程式碼會一直循環測試輸入流是否正常,直到輸入流到達檔案結尾,或輸入流出錯。
while括號裡的表達式不是應該結果是bool型嗎?為何可以是輸入語句呢?
Q: 那它又如何跳出呢?難道輸入的數是0才跳出循環?
恩。 。 。 。其實我也是一知半解,但我比較糾結的是你所說的“查不到”,如果你是真的查不到答案,我想分享一下我的體驗。
首先呢,對於像我這樣的資深小白來說,一直堅信著:只有想不到的小白題,沒有查不到的答案。
然後咧,就有啥查啥唄,比如這題,你可以隨意擺渡一下
while(cin>>n)
,就會發現一堆你想要的答案(eg.啥時候能跳出循環);再然後,像你這樣已經不只是糾結於什麼時候能停,而考慮起關於表達式值的問題,完全可以去查
while
和cin >> n
的回傳值,看看到底暗藏什麼玄機。小白伸手黨很容易做的,不過顯然不如自己一層一層抽絲剝繭地去追溯一個問題來得有趣(這個話是用來鼓勵我自己的XD)
另分享一個挺棒的答案:cin,cout,以及其回傳值
樓上正解