1. 使用c 編譯時,控制台一閃而過,system("pause")完全沒用
這不是system(「pause」)的問題。你這個程序游衡是不能運行的,所以你一打開就被系統給斃了。
我不知道你用的是什麼編譯器,建議你去用devc++,這段代碼里有好幾處語法錯誤,很多編譯器都是可以直接報錯的,我給你簡單分析一下。
第一,main函數必須是int型返回值,不可以是void,而且必須在程序結束的地方加上
return 0;語句,否則對應系統來說這就是個異常運行的程序。
第二,cout語句每一段數據流只能是一個變數(或是表達式)或者一段字元串,還有其他一些特殊格式比如endl,也就是換行。你寫了「cout << sum sum2 << endl;」你在sum和sum2直接加了空格,系統就不會認你這個語句,正確寫法是「cout << sum << " " << sum2 << endl;」,利用英文半形格式下的雙引號所限定的一段字元串,我這里笑凳就打了空格,運行時就也會列印一個碰磨旅空格。
樓下的說法是不對的,devc++在5版本後支持編譯器內打開一個程序時自動暫停,但那不是自動在代碼後面加system(「pause"),而是另一個功能——性能測試所提供的效果。如果你不加system("pause"),把編譯好的程序直接打開的話也會一閃而過。
system("pause")的意義主要在於給使用者提供方便,但大多數程序需要執行完後快速的自行關閉,這樣才能節省系統的資源。
2. C++編譯完了一點回車窗口閃一下就沒了,我是初學者,說點我能聽懂的……
一、在你的代碼中加入一行:system("pause");可以讓程序停下來,讓你看到它運行的結果。比如下面的例子:
#include<iostream>
intmain()
{
usingnamespacestd;
cout<<"helloworld"<<endl;
system("pause");//<-----注意這里
return0;
}
二、相關解說:
1、早期的c++生成的程序要求運行在命令行窗口中。
2、不懂什麼意思對吧,要真正的解釋,比較費事。這么說吧,按住「win鍵」(鍵盤上畫了小旗的那個鍵)不放,按下「R」鍵,出來一個「運行窗」,在裡面填入「cmd.exe」後點確定,會出來一個窗體,看起來是黑白的,這就是命令行窗了。
3、在命令行窗中,使用(輸入)dos指令去運行你編寫後生成的程序,就可以看到結果了。
4、是的,這會要求你對dos指令稍稍懂一些。好吧,如果你實在不懂dos,將你的生成的程序直接拖入命令行窗中,會自動生成相關的運行指令,回車後就可以執行。
三、下面是補充知識:
1、當前的編程一般面向win窗口編程,一般很少寫那些命令行下才能顯示的程序了,但一些教材中的教學還是十年如一日的以那些例子作教材。可苦了這些入門的童鞋了。
2、早先的計算機是運行在dos下的,計算機一起動就進入dos的黑白界面,看起來象命令行窗中,實際上,命令行窗就是用來「模擬」早期計算機的DOS。
3、在編程代碼中,加入「暫停」之類的指令其實可以讓程序自個現出「結果」的,不必手工起動命令行窗,之所以一閃而過,是因為程序運行完,顯示完就「退出」了,它才不會管你在那千萬分之一秒內是否看到了結果,它管的是它已經輸出完了結果,所以它就走人了。
3. 我用matlab編譯生成的exe文件,雙擊運行時一個命令窗口閃一下就沒了
這和用c語言編寫的程序,直接雙擊命令窗口閃一下就沒有是一個道理。
第一種辦法,可以向c語言一樣,先打開cmd,然後在cmd窗口中運行這個exe,但要注意路徑的問題。因此不推薦這樣。
第二種方法,也和c語言類似,在你編寫的m文件最後加一句暫停命令,使exe執行完之後暫停。最後加一句:
pause
這樣就可以了。
若有疑問,歡迎追問。
4. 大佬大佬,我沒法把程序運行界面留下來,一運行就黑色的框就閃一下然後就沒了咋辦
這說明你使薯汪用的編譯平台沒有「留存」界面的功能,可以在主函數最後的返回語句return 0;前加一句system("pause");來解決。如果你寫的主函數是void main(...這樣的,那就在最後一個}前加system("pause");。或者,把上述寫system("pause");的地方穗手叢換成getchar();也能停下來等待讓你敲猜櫻任意鍵。供參考。
5. 在DEVC++中寫完代碼(代碼正確),要編譯運行時,運行的那個框只閃一下就沒有了~這是為什麼
DEVC++ 這個 IDE 就是這樣的,直接調用,而不暫停。
這個沒有關系,只要在命令行里運行,就會停下來了。
也可以用代碼控製程序完成後暫停。
程序最後加入一行:
cin.get();
即可
6. c語言程序執行一閃而過怎麼辦
可以在程序結尾使用system("pause");語句阻止窗口消失。
system("pause");的頭文件為#include<stdlib.h>
#include<stdio.h>
#include<stdlib.h>
void to_upper_str( char *str ) //子函數
{
while( *str )
{
if( *str >='a' && *str<='z' )
*str -= 32;
str++;
}
}
int main(){
char str[11] ;
printf("請輸入10個英文字元: ");
scanf("%s",str);
str[10]='