为什么C语言程序能编译但是运行不到

如题所述

错误原因:在运行过程中发生了异常,比如空指针,数组越界,死循环无法跳出等
编译:编译的意思就通过了编译器的词法语法分析器的解析,编译器可以解析你的所有的代码,没有语法语义上的错误,比如c语言 a[-1]这样的可以编译,因为语法满足C语言的标准,但是明显会报错,即运行错误
运行:运行时对代码的逐条执行过程,在执行过程中可能会出现错误,出现错误,则会导致程序崩溃等问题
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-06-25
原因:可能是某些细节写错。
比如:1.if (a==b)写成了if (a=b)。2.调用函数时没加上括号,比如asdf()写成了asdf。
解决方法:仔细检查,努力排错。
备注:以后写代码时,要注意之前出错过的细节,以免再错。
第2个回答  2016-06-22
编译只是检查你的代码有没有语法错误,运行的话要实际的结果了,这两个不一样,可以私信,把你的代码发过来看看本回答被网友采纳
第3个回答  2016-06-22
不知道你想问什么?追问

就是程序编译成功,可是运行不到

追答

编译只是做了词法、语法、语义的检测,只能说明你的程序符合规范。但是逻辑错误不能被检查出来。这样需要debug检查。

为什么c语言代码正确但运行不了
c语言代码正确但运行不了只能说明语法上没有出现问题,而执行不了,有可能是你的逻辑有问题。建议详细检查代码,确证语法、逻辑都没有错误后,再编译执行。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了...

我的c语言程序没有报错为什么会执行不了?
1. 程序陷入死循环:程序在某个地方出现了死循环,使得程序无法继续向下执行。如果程序似乎无法结束,可以检查程序是否存在死循环。2. 内存泄露:程序在使用动态内存分配函数(如malloc、calloc)等开辟内存空间时,没有及时释放所分配的内存空间,导致内存泄露。内存泄露会导致系统内存资源的浪费,最终导致程序...

C语言代码运行不出为什么?
C语言代码运行不出现象可能有很多原因,以下是一些常见的原因和解决方法:编译错误:代码中存在语法错误或类型错误,导致编译失败。可以通过编译器的错误提示信息来定位错误,逐一修正后重新编译。运行错误:代码编译成功,但在运行时出现错误,如数组越界、空指针、除零等错误。可以通过调试工具或打印调试信息...

为什么C语言程序编译正确但不能执行?
这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:int a; scanf("%d",a);可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏。

C语言为什么没错误还执行不了?
c语言的错误分为两种,一种是运行时错误,一种是逻辑上的错误。逻辑上的错误不好判断,执行不了肯定是出现逻辑上的错误的。

C语言为什么会出现:编译通过,执行失败 的情况?
语法对,语义错,溢出错,下标超界,指针未分配单元。很多啦。新手常犯错误:void main(){ int a=0;scanf("%d",a);printf("%d \\n",a);} 错在 scanf("%d",a); -- 应当是 scanf("%d",&a);编译通过,执行失败!

c语言编程,编译无错,运行出错
1 你所谓的运行时问题,即栈溢出(stack overflow), 解决方法是使用c语言的malloc函数(相当于C++的new操作符)在堆上分配内存(当然最后根据输出文件的答案来看,你确实数据给大了)2 逻辑问题,如楼上各楼所说:s[i]=s[i-1]+A[i];而不是s[i]=s[i-1]+s[i];你中学数学知识都忘了。。

为什么我的C语言编程时没有错误但有警告,运行不了,这个实在不晓得为什 ...
编译没有错误只是说没有语法错误。 但你的程序可能有逻辑错误。例如死循环什么的。 所以 ,编译正确不代表程序就是对的。其实只要你学习半年左右就很少出语法错误的。更多的是逻辑错误。那是侯还要靠自己一步步的调试啊 看啊,想啊。

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

C语言编程调试后没有错误但是却无法运行是怎么回事?
无法运行可能遇到的问题:编译没错,但是运行后弹出内存相关报错---》有逻辑错误,或者内存调用错误 运行直接闪退---》有可能该程序无任何执行结果输出语句,或者使用编译器(or IDE)与操作系统不兼容 暂时只能想起这么多了。

相似回答