为什么我的C语言程序没有错误却总是不能运行

作者&投稿:简版 (若有异议请与网页底部的电邮联系)
C语言编程调试后没有错误但是却无法运行是怎么回事?~

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

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

多种可能。
1.装在C盘了,Vista上不能访问,管理员模式运行试试。
2.目前进程中正又一个cpp1.exe正在执行,所以这个文件受保护,不能打开创建。建议结束该进程,再Link。

Linking...
LINK : fatal error LNK1104: cannot open file "Debug/Cpp1.exe"
执行 link.exe 时出错.

这个我也遇见过,其实你这段话写的没一点问题,但为什么会出现这样的原因是因为:他并没有构建,就是说在linking的时候已经出现了问题,问题一般是由于类库的某些文件在自己不知道的情况下给修改了,已构成无法构建的问题!

debug/cpp1.exe
是因为你已经在调试,但没把它闭关又去在调试,,
所以先关闭上一个调试的程序,在去调试就OK

我机器上运行过了,结果是25,也用的是VC6

报错是说打不开Cpp1.exe,Cpp1是你的工程名吧?你是不是之前打开了没关?不然重开一下VC看看能不能进?

你是不还有另外一个C程序的窗口开着等带你输入呢?
吧其他程序关了试试

c语言程序为什么不报错?
答:在C语言中,程序没有报错并不意味着程序一定是正确的。有时候,程序可能会出现逻辑错误或者运行时错误,导致程序无法执行或者输出不符合预期。以下是一些常见的导致程序无法执行的原因:1. 程序陷入死循环:程序在某个地方出现了死循环,使得程序无法继续向下执行。如果程序似乎无法结束,可以检查程序是否存在...

为什么我的c语言程序没有错误、警告,还不能生成程序
答:估计是编译器问题吧,还有些程序逻辑上没有错,但是执行的时候会产生不可预料的错误,这是编译器也不会报错。

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

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

c语言中,程序没有错误但是运行后却不显示
答:因为代码没有问题,只是输入时要先输入个数n,再输入n个数,最后输入一个要找的数——这代码没有输入错误提示,所以输入错了就没有输出,等待下一次输入。而且,代码是多组循环,若要退出,得输入两次Ctrl+z键,否则啥也不显示等待下一轮输入。比如你输入4↙(↙表示回车),再输入1 2 3 4(空格...

C语言程序编写没错误但是不能运行
答:后缀名掉了或者写错了!你的文件名后面要加.c或者.cpp,注意C前面有个点(不过你得把你的电脑上的文明扩展名显示出来这样做才有效)或者新建C文件(命名时一定要带上.c)!

为什么这个C语言程序没有错误,但运行不出来?输入数字后按enter键总是出...
答:有两处错误:一 val是int类型应该用%d格式字符串 二 scanf的第二个参数应该传递一个地址&val 改成这样就对了:scanf("%d",&val);

C语言问题(很急,我写的程序编译没问题但执行出来却什么都没有)
答:if(i=j)改为 if(i==j)if(i=j)没报错是因为它本身没有语法错误,但i=j是语句而不是逻辑表达式了。

c语言指针问题,为什么我输入很多个都没有显示错误?
答:这个错误在unix/linux系统上称为“段错误”。它提示程序试图访问一个并未分配给程序的内存位置。这还属于比较好的情形,最可怕的是:如果这个越界的地址是一个合法地址(如你的例子中),接下来,如果有其他变量正在使用这块内存,其中的值被无意修改了,并且这种错误很难发现。所以对指针的操作要异常小...

c语言指针问题,为什么我输入很多个都没有显示错误?
答:这个错误在unix/linux系统上称为“段错误”。它提示程序试图访问一个并未分配给程序的内存位置。这还属于比较好的情形,最可怕的是:如果这个越界的地址是一个合法地址(如你的例子中),接下来,如果有其他变量正在使用这块内存,其中的值被无意修改了,并且这种错误很难发现。所以对指针的操作要异常小...