这个C程序编译显示没有错误,为什么不能运行?

#include "stdio.h"
int main (void)
{
printf("%c\n",getchar());
return 0;

}

nt a,b; scanf("%d%d",&a,&b);//参数必须是指针(地址)才可以。 scanf()函数要求参数必须是指针类型,即将地址传输到其内,才可以让a , b变量中获取到数据。 如果你学过指针,你就会理解了。 C语言中函数的调用中,参数传递,只能传递数值。如果只是将数值传递过去(接收者是形参),在子函数中变化,形参的变化,不会影响到实参数据的内容。 C中,每定义一个变量,系统都会在内存中给其分配一个空间用来存储数据。而这个空间的编号就是这个变量的地址。当我们将这个地址传递到子函数中,子函数在操作数据时,就会改变这个地址中的数据,这样,实参的数据是会发生变化。 而你程序中,传递的是a b本身的值(可能是0,可能是1,可能是任意的数),scanf()将这两个值当作地址去操作,因此会产生系统错误,导致程序运行停止。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-18
你按回车了嘛追问

点运行是就显示这个东西。

追答

。。。那你这也算是编译时的链接错误啊,你的代码是不是定义了两次 int main

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

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

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

c语言编程的代码没有错,为什么运行就错了
如果代码本身没有错误,那么可能就是软件的配置没有弄好,比如各种文件路径等!

为什么我写的c语言在编译后没错误,没警告,但是运行时却没结果。
楼主,你好!编译没有错误只能说明没有语法错误,并不能说明代码的逻辑没有错!因为编辑器主要是根据C语言的语法来检查你的代码有没有错!

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

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

c语言中输入一个程序后显示无错误,为什么不能运行
因为编译器所能检测到的错误信息是有限的,它能检测C语言的语法错误和语义错误,而逻辑错误一般是检测不出来的. 当你输入的程序语法和语义都没有出错但是逻辑出错时,编译会通过,但是运行的时候就通不过了,你需要重新检查你的代码,找出错误改正过来....

在Visual C编译的程序无错但为何不能运行
你的程序也许涉及到文件相对路径的问题了,或者其他与运行环境相关的问题

...C语言的代码的时候提示是没有错误的,为什么在运行的时候弹出编辑框说...
设置

相似回答