程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> iostream-C++輸入輸出流和循環的問題

iostream-C++輸入輸出流和循環的問題

編輯:編程綜合問答
C++輸入輸出流和循環的問題
 #include<iostream>
using namespace std;
int main()
{
    int n=1;
    while(n){
        cout<<"輸入繼續"<<endl;
        cin>>n;
    }
    return 0;
}

我如果輸入1,按回車,則循環正常進行,我若是輸入1 1,按回車,則循環了兩次,因為
cout<<"輸入繼續"<<endl;兩次,而且跳過了第二次的cin,
好奇怪,我想知道為什麼及原理
我輸入的是1,空格,1,回車

最佳回答:


必定輸入了非法字符。例如 a,x,或者CTRL+Z,CTRL+D了
只要你永遠輸入非 0 整數(C,C++ int 范圍內的),這個程序 永遠不會結束,不管輸入多少個數
空白符(空格,換行,tab)會被忽略
他們只是作為 每次 cin 的結果的邊界而已。換行是用戶輸入的邊界,沒有換行的時候,用戶可以一直輸入
每次輸入換行,完成一次緩沖區輸入。
在完成所有數據從緩沖區實際輸入之前,會一直使用緩沖內部的數據
此時如果有輸出,就會開始輸出一批數據,
輸出結束後,才可以進行下一次用戶輸入(一個新行)

其他空白符 是 任何整型,浮點型 的輸入邊界(從緩沖區輸入的邊界)。
這些類型的數據,只能取得 空白符之前的數據,空白符後面是下一個數據。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved