C语言程序运行后 出现exe停止工作 为什么呢?

我如果编的是不用键盘输入的程序,就能运行出来,但是如果要用键盘输入,运行后输入东西后就又显示停止工作了??

这种情况叫做 runtime error (运行时错误)。

在 Windows 7 上这样提示:

在 Windows XP 上这样提示:

runtime  error ï¼ˆè¿è¡Œæ—¶é”™è¯¯ï¼‰å°±æ˜¯ç¨‹åºè¿è¡Œåˆ°ä¸€åŠï¼Œç¨‹åºå°±å´©æºƒäº†ã€‚

比如说:

①除以零

②数组越界:int a[3]; a[10000000]=10;

③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;

④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free(p); *p=10;

⑤数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000]

追问

不是,我把源代码发给别人,他就能正常运行

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言程序运行后 出现exe停止工作 为什么呢?
C语言程序运行出现exe停止工作的原因是因为内存溢出和编译器错误。第一种:内存溢出 内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软...

c语言exe已停止工作怎么解决
对于你遇到的问题"c语言exe已停止工作",可能的解决方案如下:首先,需要确定停止工作的具体原因。这可能涉及到错误消息、错误代码或程序的行为。在C语言中,一些常见的问题源包括:1. 语法错误:检查代码中是否有明显的语法错误,例如丢失的分号、括号不匹配、不正确的变量声明等。2. 内存管理问题:确保...

为什么C语言程序运行时出现exe停止工作,但可以输出结果,用的是vc6...
你定义 数组 long int r[39];表示该数组元素个数为39个,数组下标是从0开始算起的,也就是说r[0] 为第一个元素,地39个元素应该是r[38], 所以你检查一下自己的程序,看看是不是两个循环里面都会出现,r[39]的情况?r[39]表示第40个元素,数组越界,程序就崩溃了,所以才出现exe停止运行...

.exe已停止运行什么梗
“.exe已停止运行”是一种程序错误,通常出现在计算机运行程序时。这个错误意味着程序所需要的内存超出了主机内安装的内存大小,因此系统无法继续执行程序,并提示“.exe已停止运行”。当出现这个错误时,有时系统会自动关闭软件或重启电脑,有时则可以释放一部分内存后继续运行该软件。

C语言程序运行后 出现exe停止工作 为什么呢?
这种情况叫做 runtime error (运行时错误)。在 Windows 7 上这样提示:在 Windows XP 上这样提示:runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。比如说:①除以零 ②数组越界:int a[3]; a[10000000]=10;③指针越界:int * p; p=(int *)malloc(5 * sizeof(int));...

c语言中一般运行后停止工作有哪些情况
只要编译通过,一般情况下C语言程序停止工作,多为输入输出格式不对,或计算陷入死循环。1、输入输出格式不对。最常见的就是&符号,该有的没有,不该有的打了&符号。例如:int n;scanf("%d",n);n前少打了&符号。编译能通过,执行时就会出现停止工作的情况。2、个别计算陷入死循环的情况,例如:i...

C语言编程的时候出现“程序已停止工作”的原因有哪些?
\\x0d\\x0a如果没有加&, scanf会把变量当作地址来用,而你的程序中又没有以变量为地址的变量,操作系统不允许程序读写程序规定范围以外的空间。出于安全起见,操作系统将其紧急中止。就发生了“***.exe已停止工作”的效果。\\x0d\\x0a如果你正在学习数组,请检查:\\x0d\\x0a数组是否越界。定义为...

c语言 停止工作
贴出的代码里没有关于5调用的那部分。一般出现exe停止工作,是因为非法访问内存导致。

急急急!!vc 6.0 C语言编程问题!出现**.exe停止工作!
这个问题我们都经常遇到 调试过程中 很常见 就是你代码有问题 访问未知内存就可能出现崩溃 代码找找就能找到错误了

C语言编译没问题,运行时出现了exe停止工作
首先,数组是个常量,数组定义的时候元素个数就应该是确定的。这个是c语言的严格规定。你定义数组的元素个数为n是没有道理的,虽然有的编译器可能通过,但是这是不严格的。

相似回答