2

我是 C 编程新手。在下面的程序中,如果程序收到输入“退出”,我只是想立即退出 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;

}
4

5 回答 5

6

您看到的消息实际上是由 Visual Studio 调试器生成的。它并不是真正来自您的程序。

如果您想验证您的程序实际上没有显示任何消息(也没有等待按键),只需尝试从 Windows 命令提示符运行它。您也可以尝试在 Visual Studio 中以“发布”模式运行程序。这也将证实这一点。

调试器显示该信息的原因只是为了帮助您了解程序正在发生的事情。

于 2013-02-08T16:43:18.147 回答
0

该输出不是来自您的程序,而是来自运行您的程序的程序。最有可能是“Visual Studio”,但我希望其他类型的 IDE 可能会做类似的事情。

于 2013-02-08T16:43:11.060 回答
0

您可以发布执行环境的详细信息吗?似乎您的进程正在被另一个正在打印“按任意键继续”行的应用程序(可能是专门的 shell)监视退出代码

于 2013-02-08T16:45:16.710 回答
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");请注意,我没有到达

于 2013-02-08T16:47:15.860 回答
0

如果您使用的是 Dev-C++ 并且想要摆脱该消息,请执行以下操作:

工具菜单->环境选项->常规选项卡

然后取消选中返回后暂停程序选项。

来源:http ://www.cplusplus.com/forum/general/89249/

于 2013-08-02T17:11:42.950 回答