2013-02-08 138 views
2

我是C編程新手。在我的下面的程序中,我只是試圖立即退出C程序而不會看到任何額外的對話框,如果程序收到輸入「quit」。退出C程序

我試圖做到這一點使用exit(0);然而,在程序退出前輸出類似

success 
process exited with return value 0 
Press any key to continue... 

我試圖避免這種對話,並立即退出程序。這可能嗎?

我感謝任何幫助。

非常感謝提前!

我的C代碼:

#include <stdio.h> 
#include <string.h> 
#include <stdlib.h> 


int main(void) { 
    char command1[256], command2[256]; 
    printf("# "); 
    scanf("%s", command1); 
    if(strcmp(command1,"quit")==0){ 
     printf("success"); 
     exit(0); 
    }else{ 
     printf("unknown command"); 
    } 

system("PAUSE"); 
return 0; 

} 
+0

對不起,是的,它確實打印成功。 – AnchovyLegend 2013-02-08 16:50:29

+0

完成。見編輯;) – AnchovyLegend 2013-02-08 16:58:22

+1

@ablenky - 謝謝你 - 它確實改變了問題的味道(完全像) – CHill60 2013-02-08 17:00:27

回答

6

您看到的消息實際上是由Visual Studio調試器生成的。這不是真的來自你的程序。

如果你想驗證你的程序沒有實際顯示任何消息(也沒有等待按鍵),只需嘗試從Windows命令提示符運行它。您也可以嘗試使用Visual Studio在「發佈」模式下運行該程序。這也將證實這一點。

調試器顯示該信息的目的只是爲了幫助您瞭解程序的運行情況。

0

該輸出不是來自你的程序,它來自運行您的程序的程序。很可能是「Visual Studio」,但我希望其他類型的IDE可能會做類似的事情。

0

你可以發佈你的執行環境的細節?看起來好像你的進程被另一個應用程序(專門的shell也許)正在監視退出代碼,它正在打印「按任意鍵繼續」行

0

process exited with return value 0肯定不是來自你的代碼,而是一個程序你的輸入和輸出的中間。

我編這個命令行(Mac OSX版)上,並提出了與下面的輸出:

James:Desktop iPhone$ gcc code.c 
James:Desktop iPhone$ ./a.out 
# quit 
successJames:Desktop iPhone$ 

請注意,我沒有達到system("PAUSE");要麼