当我尝试运行已编译的C程序.exe时,为什么控制台会打开?

时间:2016-01-18 17:39:01

标签: console window exe

很多人都有这个问题"How do you keep the console from closing after the program is done in C",但我的问题有点不同。当我运行.exe窗口打开并快速关闭但为什么窗口首先打开

我的意思是......如果我尝试打印某些东西,我会知道,控制台窗口是必要的,但即使我在控制台窗口下方运行示例代码,也会弹出,我不会知道原因。

int main() {

    int i;
    for (i=0; i<100; ++i) {
        ++i;
    }
}

2 个答案:

答案 0 :(得分:0)

您很可能将代码编译为控制台程序(这在C ++中很常见)。因此,控制台将打开以运行您的程序。控制台不仅用于输入和输出,而且也是&#34; shell&#34;程序运行的地方。

某些GUI C ++程序无法打开控制台,但其中一些程序仍然会在后台打开一个控制台窗口,GUI将从该窗口启动。

长话短说,这不是你需要担心的事情;控制台不仅仅是输入和输出。

中号

答案 1 :(得分:0)

因为程序执行你已经告诉它执行的代码,但是因为这个工作对于现在的CPU来说非常容易,所以它可能只需几毫秒来完成工作,因此它可以快速完成工作并终止(控制台窗口弹出的原因)显示控制台窗口,以显示程序执行的结果。告诉程序停止并从用户那里获取一个角色,只需使用:

#include <conio.h> /* In visual studio */
int main() {

    int i;
    for (i=0; i<100; ++i) {
        ++i;
    }
    getch();
    return 0; /* By the way don't forget this, It may not give error if you omit this line but its good to write this line because it tells the OS how the program did its job */
}

但是如果你不想使用控制台,你应该尝试使用Win32 Api进行gui编程,在控制台程序中使用WinMain代替main