1. 程式人生 > >解決 C/C++ 程式執行一閃而過的方法

解決 C/C++ 程式執行一閃而過的方法

簡述

在 VS 編寫控制檯程式的時候,包括使用其他 IDE(Visual C++)編寫 C/C++ 程式,經常會看到程式的執行結果一閃而過,要解決這個問題,可以在程式碼的最後加上 system("pause")getchar()cin.get()

|

推薦方法

比較常用的做法是使用 system("pause"),但這篇文章:Things to Avoid in C/C++ -- system("pause") 不推薦使用 system("pause"),因為:

  • 不可移植:只適合 Dos 或 Windows,不適合 Linux 等。
  • 耗費系統資源:呼叫系統命令 system()
    去做”暫停程式”的事情有點大材小用。
  • 必須新增標頭檔案:stdlib.hcstdlib

所以,應該儘量摒棄。

推薦方法:

  • 在 C 中,使用 getchar()
  • 在 C++ 中,使用 cin.get()

替代方法

豐富一下兩種替代方法:

在 C 中:

printf("按任意鍵繼續……");
getchar();

在 C++ 中:

cout<<"按任意鍵繼續……";
cin.clear();
cin.sync();
cin.get();

加上 cin.clear()cin.sync() 這兩句,是清空快取區,讓 cin.get() 真正接收到你的鍵盤輸入。