首頁>Club>
12
回覆列表
  • 1 # 籠子金哥

    cin.get()是保留回車在輸入流佇列中的, 而cin是丟棄回車的。 ch=cin.get();是第一次輸入,因為是剛開始,所以沒有回車保留在輸入流的佇列中。這時你輸入一個字元,然後回車。get()收到回車或空格或製表符就停止輸入了、此時,輸入流佇列中留下一個回車。 num=cin.get();這是第二次輸入。因為第一次用了get,所以輸入流佇列中有個回車。則get()接受這個回車。又因為get()收到回車或空格或製表符就停止輸入。 所以這一次的輸入就是一個回車, 可以num=cin.get();之前把回車給弄了。你應該想到了。就用cin.get(),把第一次輸入留下的回車給弄走.則num=cin.get()就可以正常了。 擴充套件資料 cin執行機制解析: C++的cin究竟確切含義是什麼呢?很多初學者第一次接觸cin時,當程式執行到cin指令時,程式自動會中斷,然後等待使用者從鍵盤中輸入資訊。只有當用戶輸入完成,按下回車之後,程式才會繼續往下執行。 這個過程很容易讓初學者產生誤會,認為cin就是呼叫電腦鍵盤進行輸入的指令。也是因為這個錯誤的認知,會引起一系列的誤會。例如上文中圖4,雖然程式中有三次cin,但其實我們只要從鍵盤裡輸入一次,就可以完成全部輸入工作,不一定非得分開三次從鍵盤輸入。 cin本質和其它C++變數一樣,它也是一個變數名,它被定義在iostream檔案裡。因此,我們要使用cin功能時,就必須匯入標頭檔案

  • 2 # maimi32709

    一般情況下,cin自動跳過輸入的空格。如果你要把鍵盤上輸入的每個字元,包括空格和回車鍵都作為一個輸入字元給字元型變數時,必須使用函式cin.get()。格式為 cin.get(字元型變數)注意:該語句一次只能從輸入行中提取一個“字元”。 你輸入的5是按照char來儲存的,而又當做int來解釋輸出,因此會輸出字元5對應的ASCII碼,也就是53!直接cin>>i;就沒有這個問題。

  • 中秋節和大豐收的關聯?
  • 溼氣入侵會對身體造成哪些損傷?