为啥C语言程序运行时打开后自动闪退??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥C语言程序运行时打开后自动闪退??相关的知识,希望对你有一定的参考价值。

以下一段代码为例:

这是在“ CodeBlocks  ”里编译运行的截图。此时是在调试状态下。


调试状态的。

这是瞬间捕捉的截图。也就是运行时打开后自动闪退。

当执行完语句: printf("%d\\n",a+b); 后

在屏幕上输出 3;

然后继续执行语句:return 0;

即程序结束。dos框关闭。




参考技术A 我看是网上来的代码,编译后直接双击运行的,非GUI的程序一般不需要等待用户,运行完了当然自动退出了,执行main()函数末尾返回,你要是想停一下等待看结果,main()函数末尾加一句system("pause");
例如
#include<stdio.h>
int main()

printf("Hello World!\n");
system("pause");
return 0;

本回答被提问者采纳
参考技术B win-TC的话加getch();或者getchar();VC编译器的话加system("pause"); 参考技术C 先看下你用的是那个编译环境,如果是VC++6.0就在程序最后面加return 0;如果是WT-32就在后面加getchar(); 参考技术D 那是因为程序已经执行完了。
你可以在源码最后的地方加上 getchar(); 这样就不会直接关闭了。

delphi 运行后闪退

我的delphi编完一段程序之后按F9可以运行,但是关掉并保存Delphi之后再打开Delphi然后打开之前那个编辑的程序按F9就直接闪退了。

程序如下:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private
Private declarations
public
Public declarations
end;

var
Form1: TForm1;
i1,i2,i3: integer;

implementation

$R *.dfm

procedure TForm1.Button1Click(Sender: TObject);
begin
i1:=StrToInt(Edit1.Text);
i2:=StrToInt(Edit2.Text);
i3:=i1+i2;
showmessage(inttostr(i3));
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Not(key in ['0'..'9',#8]) then
key := #0;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Not(key in ['0'..'9',#8]) then
key := #0;
end;

end.

看都不用仔细看就知道不是代码问题,这些代码有没导致闪退的可能。
从别的地方找原因吧

1 也许文件遭其他软件破坏
测试办法:复制代码到别的电脑上试试
2 delphi有问题, 可以重新安装试试
3 别的软件冲突导致 你可以关闭一些软件试试
4 window问题追问

哦,我知道了
我想再问下delphi中Save as 和 Save Project as有何区别

追答

save as 是单元文件另外保存
Save Project as 是工程另外保存

另外保存的意思: 就是比如说 aaa.pas 你save 就是继续保存到aaa.pas 而save as 会弹出个对话框 可以保存为bbb.pas

参考技术A 代码没问题,你的程序我也试了保存后再打开运行,也没问题

以上是关于为啥C语言程序运行时打开后自动闪退??的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序使用while和scanf时产生了闪退

C语言程序函数调用闪退

c语言如何把c程序编译成可执行的exe文件

这个C语言小程序在每输入三个数后会不会自动换行,我感觉没问题,为啥运行时不自动换行

这个C语言小程序在每输入三个数后会不会自动换行,我感觉没问题,为啥运行时不自动换行

为啥打开KEmulator手机模拟器会弹出Error:could not open C/Document and Settings/ALL Users/jvm.cfg'