c 乙個問題 while cin 的解釋

2021-09-27 08:20:31 字數 353 閱讀 9026

cin是c++的標準輸入流,其本身是乙個物件,並不存在返回值的概念。

不過經常會有類似於

while(cin>>a)

的呼叫,這裡並不是cin的返回值,而是》操作過載函式

istream& operator>>(istream&, t &);的返回值,其中第二個引數由cin>>後續引數型別決定。

其返回值型別為istream&型別,大多數情況下其返回值為cin本身(非0值),只有當遇到eof輸入時,返回值為0。

輸入eof的方法,windows下輸入ctrl+z, linux下輸入ctrl+d。

於是,當輸入所有資料後,通過輸入eof的方法,可以退出while(cin>>a)這樣的迴圈。

在c 中用while(cin)的問題

xp系統中利用dev cpp進行程式設計,語句while cin str str是個string型別,在一行中輸入幾個string,末位加個ctrl z,輸入沒有結束,除非出入換行後,再輸入ctrl z才能跳出輸入。一直不明白未什麼,解釋請看下。輸入緩衝是行緩衝。當從鍵盤上輸入一串字元並按回車後,這...

在c 中用while(cin)的問題

xp系統中利用dev cpp進行程式設計,語句while cin str str是個string型別,在一行中輸入幾個string,末位加個ctrl z,輸入沒有結束,除非出入換行後,再輸入ctrl z才能跳出輸入。一直不明白未什麼,解釋請看下。輸入緩衝是行緩衝。當從鍵盤上輸入一串字元並按回車後,這...

NIM 乙個NP問題的簡解

題目大意 在n 顆石子中,第一次可取1到 n 1顆,之後每次取的不超過上一次取的石子數。取完的獲勝。給出結論 當n為2 的k次方時,是必敗局面,否則先手必勝。k 1 證明 首先,考慮n 為奇數時,每次取 1,對手下一次也只能取 1,必勝。否則n即為偶數,是2的 k1倍。當k1為奇數時,是必勝策略,因...