2012-04-06 63 views
-2

可能重复:
C++ beginner, execution window disappears quicklyC程序错误

我在C编程初学者。但是当我编译程序时,会出现问题。编译器为该程序创建一个.exe文件,但是当我打开它时,它会在第二秒出现并消失。

该错误可以通过在程序的结尾添加

SYSTEM("PAUSE"); 

停止。但是,它会创建一个

按任意键继续

在节目的最后。我的错误是什么?为什么程序出现并急于消失?

如何在不添加system()函数的情况下停止它?我正在使用GCC编译器。

+1

为什么不应该计划在匆忙消失? :) – 2012-04-06 07:30:34

+0

学习更好的书并使用更好的IDE。 – dreamlax 2012-04-06 07:31:13

+0

@PavanManjunath:我可以看到它内部,因为它在1毫秒内匆匆终止 – gokul 2012-04-06 07:32:25

回答

3

这不是一个错误。程序将在完成您编程的代码后终止。如果你想输入一些东西,例如scanf

0

这不是一个错误。该程序在执行完成时执行并消失。

+0

如何阻止这种情况? – gokul 2012-04-06 07:30:49

+0

如果你想在程序完成其主要目的之后停止程序,添加'(system)()'调用,这比使用'getchar()'或'scanf()'这样的输入函数要好。 – 0xc0de 2012-04-06 07:36:33

1

运行程序,形成一个DOS窗口,而不是双无比,如果你不想加入一个暂停或scanf

1

这是一个程序的正常行为。当它达到结束时,它已经完成了它所要做的事情,所以它没有更多的事情要做。这使操作系统停止并删除其进程。

-1

u可以使用像gets()getchar()scanf()输入功能,无输入变量,而不是system()

+4

****** NEVER ******使用'gets'。 EVER。它被从所有标准中删除(C,POSIX等) – dreamlax 2012-04-06 07:34:15

+0

'gets'不再处于当前的C标准中(它在[C99](http://www.open-std.org/JTC1/sc22 /wg14/www/docs/n1256.pdf),它不在[C11](http://www.open-std.org/JTC1/sc22/wg14/www/docs/n1570.pdf))。 – pmg 2012-04-06 09:49:53

+0

哎呀!我知道这一点,但仍然犯了错误!抱歉!! – Haywire 2012-04-07 05:43:32