鱼C论坛

 找回密码
 立即注册
查看: 1429|回复: 10

[已解决]为什么我在编译时提示没有定义sqrt函数?

[复制链接]
发表于 2020-1-18 18:44:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如图,但是我已经将math.h头文件包含进来了

                               
登录/注册后可看大图
最佳答案
2020-1-18 19:51:36
Suud 发表于 2020-1-18 19:43
我刚才试了一下,发现我的math.h好像有问题
我试着调用pow函数,然后结果是
pow(2, 2) 的值是140729439 ...

可能是,Windows 测试你的代码没问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-18 18:50:35 | 显示全部楼层
把代码发上来,或者截个图。

给你个图床链接:https://imgchr.com/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-18 19:11:49 | 显示全部楼层
代码如下:
#include <stdio.h>
#include <math.h>

int isPrime(const long long int n);

int isPrime(const long long int n)
{
        int i;
        if (n <= 1)
        {
                return 0;
        }
        else
        {
                if (n == 2)
                {
                        return 1;
                }
                else if (!(n % 2))
                {
                        return 0;
                }
                else
                {
                        for (i = 3; i < (int)(sqrt((double)n))+1; i += 2) // 提示错误的地方
                        {
                                if (!(n % i))
                                {
                                        return 0;
                                }
                        }
                }
        }

        return 1;
}

int main()
{
        unsigned long long i, j, k,  num = 600851475143;

        for (i = (num / 2); i > 1; i--)
        {
                if ((isPrime(i)) && !(num % i))
                {
                        break;
                }
        }

        printf("%lld\n", i);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-18 19:19:28 | 显示全部楼层
zltzlt 发表于 2020-1-18 18:50
把代码发上来,或者截个图。

给你个图床链接:https://imgchr.com/

代码已经发了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-18 19:43:26 | 显示全部楼层
zltzlt 发表于 2020-1-18 18:50
把代码发上来,或者截个图。

给你个图床链接:https://imgchr.com/

我刚才试了一下,发现我的math.h好像有问题
我试着调用pow函数,然后结果是
pow(2, 2) 的值是140729439682824
为什么会这样?
会不会是因为我用的是Kali?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-18 19:51:36 | 显示全部楼层    本楼为最佳答案   
Suud 发表于 2020-1-18 19:43
我刚才试了一下,发现我的math.h好像有问题
我试着调用pow函数,然后结果是
pow(2, 2) 的值是140729439 ...

可能是,Windows 测试你的代码没问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-18 19:56:11 | 显示全部楼层
zltzlt 发表于 2020-1-18 19:51
可能是,Windows 测试你的代码没问题。

那有什么补救的办法吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-18 20:41:33 | 显示全部楼层
本帖最后由 Suud 于 2020-1-18 20:43 编辑
zltzlt 发表于 2020-1-18 19:51
可能是,Windows 测试你的代码没问题。


我好像知道了
编译时 -lm 要写在源文件后面
我写到前面去了
十分不好意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-18 20:42:06 | 显示全部楼层
Suud 发表于 2020-1-18 20:41
我好像知道了
编译时 -lm 要写在源文件后面
我写到前面去了

嗯,运行正常吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-18 20:43:32 | 显示全部楼层
zltzlt 发表于 2020-1-18 20:42
嗯,运行正常吗?

正常了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-18 20:44:02 | 显示全部楼层
zltzlt 发表于 2020-1-18 20:42
嗯,运行正常吗?

十分感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 08:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表