-
1 # 貴龍魄
-
2 # 悠閒我有一顆平常心
原因:.exe預設當main遇到return 0(就算你沒寫這行,最後也是執行這行,想想看,你的main前是不是有返回值型別)時,釋放所有記憶體,自然,視窗就關閉了。也就是你的程式在千分之幾秒內跑完後就自動關閉了。解決辦法:匯入標頭檔案時,多寫一行,#include<cstdlib>;再在main結束前加一行system("pause");,如果最後有return 0,要加在return 0前面,是暫停命令。備註:“以前那不是這個樣子的”說明你沒有寫大程式的經驗,從來都是用cmd執行,cmd預設不返回。
你除錯的時候按F5,別按ctrl+F5就OK了。
-
3 # 好心情7644
Windows 環境下,直接雙擊C 或 C++(簡稱 C/C++)程式debug下*.exe,會出現程式一閃而過或者程式接收了輸入後直接退出的現象,導致看不到執行結果。原因是由於程式執行結束後,自動關閉了執行視窗。
解決方案如下:在想要暫停的地方(完全同上述的地方)加上cin.clear(); // 清除以前流的標記,如果這裡沒有 clear,那麼下面的輸入就被忽略了,因為cin標誌未清除
cin.ignore( numeric_limits::max(), '\n' ); // 這一句就是把回車(包括回車)之前的所以字元從輸入緩衝(流)中清除出去。
cin.get(); // 等待使用者輸入回車,為什麼不一閃而過的關鍵原由上面三行;
此外還需要包含C++標準標頭檔案 limits(c則為while ( (c = getchar()) != '\n' && c != EOF ) ; // 清空輸入流clearerr(stdin); // 清除流的錯誤標記getchar(); // 等待使用者輸入回車此三行,要新增的標頭檔案為stdio.h;這三行在C++裡也可以,只是要新增的標頭檔案為cstdio)
回覆列表
原因:exe執行過程中出錯了,解決這些錯誤就可以了
解決方法:
透過 cd path >> xxx.exe 在命令列中執行exe檔案,就可以顯示出執行錯誤了。