進入c++,前期一切都好,直到碰上了令人厭惡的輸入輸出。
據說它是c的加強版,可卻總給我一種重回printf()的衝動……
比如說下面的例子:
#include int main()
然而,在我的visual studio裡面(應該也會在其他編譯器裡出現),輸入了quant之後一回車,根本不給輸入name的機會。相反輸入乙個空格後面跟著敲名字,卻可以通過。
除錯可以發現,name裡面直接存了乙個 0x009bfbd8 "" 的結果。反覆除錯發現,那個回車直接被cin.getline()吸走了……
解決這個問題大概有兩個辦法(像改用printf()這樣的方法就不提了):
1.在輸入quant之後加乙個
cin.get();
把回車吸走就ok了;
2.寫的更高階一些,把兩行拼起來:
(cin >> quant).get();
這樣也行。
不過我還是不明白為什麼會有這樣的約定,這除了多寫乙個get()之外,還有別的用處嗎?
希望能有高人來指點。總之,多次輸入時(並且其中有帶空格字串時),現在先記住這麼用就罷了。
第乙個問題
1.和 的區別 和 的區別 解答 和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if str ...
第乙個入門例子
1 配置thinkphp 2 嘗試控制器和檢視 1 資料庫 在開始之前,我們首先在資料庫thinkphp中建立乙個think data資料表 以mysql資料庫為例 create table if not exists think data id int 8 unsigned not null au...
第乙個程式設計問題
從現在開始學程式設計 遇到各種問題 程式2 題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高 於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提 成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間...