c语言 使用gcc调试 有问题

#include<math.h>#include<stdio.h>main(){inta=2;printf("%f",sqrt(2));//printf("%f",sqr... #include <math.h>
#include <stdio.h>
main()
{
int a=2;
printf("%f",sqrt(2));
// printf("%f",sqrt(a));
}
注释那行报错
/tmp/ccQiDW12.o: In function `main':
test.c:(.text+0x4e): undefined reference to `sqrt'
collect2: ld 返回 1
上面正常 tc下都正常,这是为什么呢?
展开
 我来答
tryfuture
2008-11-19 · TA获得超过355个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:0
展开全部
因为你在main前面少了东西啊!
你可以用void main()或者比如你想返回个int型的数据,那你就用int main(),这样就可以了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CX3201
2008-11-19 · TA获得超过157个赞
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:0
展开全部
因为sqrt的参数是浮点型,你传的是整型,可能是这样吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
The_facE
2008-11-19 · TA获得超过1053个赞
知道小有建树答主
回答量:1087
采纳率:0%
帮助的人:925万
展开全部
我这里没问题.....

从你报错的地方看,sqrt没有定义,你看一下你的gcc库是不是不全。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tqticelb
2008-11-19 · 超过31用户采纳过TA的回答
知道答主
回答量:142
采纳率:0%
帮助的人:0
展开全部
编译时加上选项 -lm

假设你程序文件为soure.c
gcc -lm -Wall source.c
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mjl86
2008-11-19 · TA获得超过344个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:399万
展开全部
#include <stdlib.h>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式