‘壹’ C语言程序,编译没有错误,执行时出错。问题在哪
#include<stdio.h>
intmax(inta,intb);
intmain(void)
{
inta,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("maxis%d ",c);
return0;
}
intmax(inta,intb)
{
returna>b?a:b;
}
max函数未定义
‘贰’ VC++6.0写的C语言源代码编译没问题但运行一直出错,卸载重装也一样怎么搞
你这个不可能编译没错误
\n要写到双引号里面才行
另外vc早过时了,还是用vs吧
推荐vs2017
或者用dev-c++
‘叁’ C语言代码没有编译没有错误,但在运行程序看结果,结果却显示不全
输出性别那行的 格式 应当用 %c 。
你用了 %s, 因 printf() 找不到 '\0', 输出流就乱了。
‘肆’ C语言里程序编译无误但运行会弹出程序已停止运行是为什么
造成程序停止运行弹框出错的可能原因如下:
内存溢出
内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件
造成内存溢出的原因可能有:
1>栈区溢出,例如在main函数内开辟的数组空间过大,一般机器的栈区限制在8MB左右,如果开辟的数组大小超过限制,程序就会崩溃。通常的解决方法是申请堆内存,即将较大的数组作为全局变量开在main函数之外。
2>错误地址访问,常见的非法访问包括指针漂移,数组越界等,初学者也经常出现类似scanf函数没加区地址符号&的情况导致在读取变量的时候因非法访问造成的溢出。
3>数据类型不符,问题和第二个类似,例如在声明变量时声明为int在输出变量时却用了%lld,就会造成因数据类型不符而导致的溢出。
编译器错误
部分编译器由于所使用的标准不同(例如在一台机器上使用的可能是C99标准,而另一台机器上使用的是C11标准),或是因为编译器链接库的损坏,在少数情况下也可能导致程序出现不限于崩溃退出的异常错误,通常解决方法是到编译器官方网站下载最新版的IDE安装。
‘伍’ C语言编程时编译没有错误,运行时却显示有一个错误。为什么
不没有写max函数的具体定义,在主函数中又要使用这个函数,系统找不到,自然就错了。你把max函数的定义写全了,就没事了。
‘陆’ 为什么我写的C语言程序编译时没错,运行时有错误
楼主,你好!编译没有错误只能说明没有语法错误,并不能说明代码的逻辑没有错!因为编辑器主要是根据c语言的语法来检查你的代码有没有错!
‘柒’ C语言程序不能运行,程序应该没有错误,请问,是什么原因
#include<stdafx.h>是预编译头文件,换成标准输入输出既
#include<stdio.h>就可以了,又不是工程文件
用stdafx干什么,就算是工程文件也不能落下标准输入输出函数吧!
‘捌’ 编译的C语言程序没有错误就是运行不了怎么回事
这个太多情况了,程序能编译只能证明程序没语法错,程序有问题(如下标溢出,表达式不正确)可能导致程序无法运行或结果不正确的
‘玖’ C语言编译没错,运行报错是怎么回事啊
extern int max, min;这一句有问题
改成 int max, min;
因为extern是引用外部文件中的变量,他表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。但是,你没有相应的外部文件,直接在本文件中用变量的话不用extern。
‘拾’ 这段C语言程序,为什么编译没问题,但运行出问题了,错在哪
因为没有max函数的定义,只有声明,编译时编译器只知道你跟它“说”有这么一个函数,它“相信”你,编译通过了。但是执行的时候找不到