我是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;
}
答案 0 :(得分:6)
您看到的消息实际上是由Visual Studio调试器生成的。它并非真正来自你的程序。
如果您想验证您的程序实际上没有显示任何消息(也没有等待按键),只需尝试从Windows命令提示符运行它。您也可以尝试使用Visual Studio以“发布”模式运行程序。这也将证实这一点。
调试器显示该信息的原因只是为了帮助您了解程序的运行情况。
答案 1 :(得分:0)
该输出不是来自您的程序,而是来自运行程序的程序。很可能是“Visual Studio”,但我希望其他类型的IDE可能会做类似的事情。
答案 2 :(得分:0)
您可以发布执行环境的详细信息吗?好像你的进程正在被另一个应用程序(也许是专门的shell)监视退出代码,正在打印“按任意键继续”行
答案 3 :(得分: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");
答案 4 :(得分:0)
如果您正在使用Dev-C ++并且想要删除该消息,请执行以下操作:
工具菜单 - &gt; 环境选项 - &gt; 常规标签
然后取消选中返回后暂停程序选项。