新手學c問題為什麼我的c語言程式老是閃退

2021-12-25 07:37:13 字數 3155 閱讀 7463

1樓:

在return 0; 前加一條語句 getchar();

2樓:咎莞然

推薦個軟體給你,叫 啊哈c 它會幫你設定好。

3樓:匿名使用者

一閃而過是程式自動結束,同時編譯器沒有提供結果駐留功能。對於此種情況,可以手動在**結尾增加駐留功能的函式。常用的有如下兩種:

1 通過getch函式駐留。

getch會等待從螢幕的輸入,在main函式退出前,增加

getch();

呼叫,系統會等待輸入,直到有新的輸入,才會退出介面。

2 通過system("pause");來實現駐留。

在main退出前呼叫

system("pause");

會呼叫系統的pause函式,提示並實現按任意鍵退出程式效果。

如果是已經編譯好的c語言程式,可以通過開始->執行,鍵入cmd後回車。

在開啟的命令列視窗,將可執行檔案拖動到視窗上,再回車即可執行該程式,在此視窗不會出現閃退,從而觀察執行結果。

由於該問題僅在windows平台出現,所以以上介紹均針對windows平台。

4樓:威

#include

#include

int main()

system("pause"); return 0; }

c語言程式執行一閃而過怎麼辦

5樓:匿名使用者

解決問題

copy方法:

方法一:getchar()

即在主函式尾部或程式最後加

上getchar();

也就是接受鍵盤輸入,這樣程式就不會一閃而過,因為程式還沒有執行完!

注:當**中存在scanf()函式時,需要在getchar();前加上fflush(stdin);清除鍵盤快取,以防影響getchar()的接收!

方法二:getch()

getch();的使用很簡單,也是載入主函式的尾部,但其需要配合conin.h標頭檔案使用才行!

即#include

#include

void main

方法三:system("pause")

system("pause");加在主函式的尾部,配合windows.h標頭檔案使用才行

即#include

#include

void main()

6樓:西西哩的小馬甲

原因:在編譯執行的時候,如果是直接按f5是除錯,就會出現一閃而過的情況版,安ctrl+f5的執行不權

除錯,這樣的話就不會出現一閃就沒的情況了。

方法一:getchar(),即在主函式尾部或程式最後加上getchar();也就是接受鍵盤輸入,這樣程式就不會一閃而過,因為程式還沒有執行完。

注:當**中存在scanf()函式時,需要在getchar();前加上fflush(stdin);清除鍵盤快取,以防影響getchar()的接收。

方法二:system("pause"),system("pause");加在主函式的尾部,配合windows.h標頭檔案使用才行。即

#include

#include

void main()

7樓:冬天的傻瓜

加兩句getchar();才可以。因為copy你在上面用了baiscanf,輸入完成後會du在緩衝區殘留乙個

'\n'字元(zhiscanf不接受dao'\n'的),第乙個getchar會接受緩衝區內的這個殘留的'\n'字元作為輸入,而不是等待你的鍵盤輸入,所以才會顯得加getchar()沒效果,其實是需要連續寫兩個getchar();才可以

8樓:匿名使用者

你用的tc? 換個編譯器吧 或者你顯示檢視結果 過著最後加個getch(); getch()是tc專有的吧,vc上好像不行,getch()是輸入乙個字元但不顯示

9樓:幽靈宣宣

你用的軟體是visual studio2008或者以上版本對吧,在主函式的最後加入一行**system("pause"); 這樣試下

10樓:匿名使用者

在main最後的printf語句後面加上一條

getchar();

11樓:匿名使用者

一閃而過是程來序自自動結束,同時編譯器沒有提供結果駐留功能。對於此種情況,可以手動在**結尾增加駐留功能的函式。常用的有如下兩種:

1 通過getch函式駐留。

getch會等待從螢幕的輸入,在main函式退出前,增加

getch();

呼叫,系統會等待輸入,直到有新的輸入,才會退出介面。

2 通過system("pause");來實現駐留。

在main退出前呼叫

system("pause");

會呼叫系統的pause函式,提示並實現按任意鍵退出程式效果。

如果是已經編譯好的c語言程式,可以通過開始->執行,鍵入cmd後回車。

在開啟的命令列視窗,將可執行檔案拖動到視窗上,再回車即可執行該程式,在此視窗不會出現閃退,從而觀察執行結果。

由於該問題僅在windows平台出現,所以以上介紹均針對windows平台。

12樓:無病釙呻吟

return 0;後加cin.get();

13樓:飛鴻踏雪

用ctrl+f5試試

c語言程式設計如何不讓程式閃退

14樓:匿名使用者

看你說的閃退是指正常的還是異常的。基本上陣列不越界,不訪問非法指標就不會異常閃退;而正常閃退可以加入等待的語句做些延時

15樓:匿名使用者

命令列程式?在main函式末尾return之前,加上接收輸入的語句就可以了。

system("pause");

getchar();

等等都可以。

16樓:匿名使用者

最後加一句system("pause");

你是指這個麼。。還是說退出的時候有報錯?

17樓:匿名使用者

直接加斷點 f9 好用給個贊

C語言問題為什麼選B過程求解大學C語言,為什麼選B,求解!

首先 是轉義字元,所以 的結果就是 其次,7s是指輸出字串佔7位,所以前方有空格。7s意思就是輸出後抄面的字串,襲 長度7 這裡如果bai7小於後du面字串長度則沒什麼意zhi義,dao還是按字串原樣輸出,如果大於後面字串,則會在字串前補空格 字串原本的雙引號是不會輸出的。所以a和c都不對,是轉義符...

c語言問題,17題為什麼答案是double不是float,這兩個有什麼區別

sqrt函式返來回值是double。表達源式包含隱性轉換,規則就是盡量保證資料精度不丟失。對程式設計人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗記憶體是float的兩倍,double的運算速度比float慢得多,c語言中數...

C語言問題為啥會出錯,c語言執行出錯什麼原因

陽光的雷咩咩 printf d z 璐人釔 printf d z 這樣 c語言執行出錯什麼原因 歡樂多 for i 0,sum 0 i 10 i,sum i 另外main 打錯了 編譯沒有錯是因為你寫的mian函式的語句符合c規範,而連結有錯誤是因為c必須有一個入口函式或叫主函式main 而你這裡卻...