00问答网
所有问题
C语言程序,编译没有错误,执行时出错。问题在哪?
如题所述
举报该问题
推荐答案 推荐于2017-12-16
1 编译阶段,执行的是对单个文件的转换,从
源代码
转换成二进制文件。
2 链接阶段,将每个源文件转成的二进制文件,及相关的系统
库文件
共同打包生成
可执行文件
。
3 从定义上可以看出,链接阶段,出现错误有两种可能:
1) 函数中引用了不存在的函数。
2) 编译环境有问题,导致ld出错。
追问
编译环境是指什么?不存在的函数是max吗?
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/nBnTBejBe0BnZejjej.html
其他回答
第1个回答 2016-05-21
首先编译已经报错: 有一个找不到的符号链接_max
max这个函数你只声明了但没有定义,也就是编译器只知道有这么个函数,但是函数是做什么的,不知道。
如果你是新手,咨询一下其他同学或者老师,这个问题实在不应该发出来,自学才是最好的老师。
追问
这个程序是老师的PPT上的,我对照了几遍都没有错误,所以才会问……而且编译时显示0error(s)0warning(s)
第2个回答 2016-05-21
#include <stdio.h>
int max(int a,int b);
int main(void)
{
int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
int max(int a,int b)
{
return a>b?a:b;
}
max函数未定义
相似回答
大家正在搜
相关问题
这段C语言程序,为什么编译没问题,但运行出问题了,错在哪?
C语言,这里编译没有错误,为什么执行时出错?
编译的C语言程序没有错误就是运行不了怎么回事
C语言编程时编译没有错误,运行时却显示有一个错误。为什么?
写了一个c语言程序,运行老是出错,不知道是哪里有问题,编译的...
帮忙看下以下的C语言程序,哪里有问题了,为什么Linux上编...
c语言源程序在编译,链接,运行时,可能发生的错误类型有哪些?
为什么C语言程序编译正确但不能执行?