鱼C论坛

 找回密码
 立即注册
查看: 1732|回复: 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 测试你的代码没问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

给你个图床链接:https://imgchr.com/
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  3. int isPrime(const long long int n);

  4. int isPrime(const long long int n)
  5. {
  6.         int i;
  7.         if (n <= 1)
  8.         {
  9.                 return 0;
  10.         }
  11.         else
  12.         {
  13.                 if (n == 2)
  14.                 {
  15.                         return 1;
  16.                 }
  17.                 else if (!(n % 2))
  18.                 {
  19.                         return 0;
  20.                 }
  21.                 else
  22.                 {
  23.                         for (i = 3; i < (int)(sqrt((double)n))+1; i += 2) // 提示错误的地方
  24.                         {
  25.                                 if (!(n % i))
  26.                                 {
  27.                                         return 0;
  28.                                 }
  29.                         }
  30.                 }
  31.         }

  32.         return 1;
  33. }

  34. int main()
  35. {
  36.         unsigned long long i, j, k,  num = 600851475143;

  37.         for (i = (num / 2); i > 1; i--)
  38.         {
  39.                 if ((isPrime(i)) && !(num % i))
  40.                 {
  41.                         break;
  42.                 }
  43.         }

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

  45.         return 0;
  46. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

代码已经发了
小甲鱼最新课程 -> https://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?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

可能是,Windows 测试你的代码没问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

那有什么补救的办法吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


我好像知道了
编译时 -lm 要写在源文件后面
我写到前面去了
十分不好意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

嗯,运行正常吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

正常了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

十分感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 04:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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