| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3754 人关注过本帖
标题:c语言使用三角函数的一个疑问 
取消只看楼主 加入收藏
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
c语言使用三角函数的一个疑问 
我使用的是 ubuntu 14.04 系统。

图片附件: 游客没有浏览图片的权限,请 登录注册


编译提示错误:
图片附件: 游客没有浏览图片的权限,请 登录注册


提示对sin 未定义是什么原因?
已经包含了头文件 math.h  了,为什么会没有定义?


我把程序改成这样就可以正常运行:
图片附件: 游客没有浏览图片的权限,请 登录注册


是不是sin()的参数不可以使用函数?



[此贴子已经被作者于2016-7-22 19:27编辑过]

搜索更多相关主题的帖子: ubuntu 
2016-07-22 19:16
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
回复 2楼 linlulu001
好的稍等。

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-22 19:23
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
程序代码:
//    有问题的

#include <stdio.h>
#include <math.h>

int main(void)
{
   double result, x = 0.5;

   result = sin(x);
   printf("The sin() of %lf is %lf\n", x, result);
   return 0;
}


//    正常运行的

#include <stdio.h>
#include <math.h>

int main(void)
{
        double result;

        result = sin(0.5);
        printf("%lf\n", result);
        return 0;
}



[此贴子已经被作者于2016-7-22 19:36编辑过]


电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-22 19:25
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
以下是引用linlulu001在2016-7-22 19:32:36的发言:

我运行没问题,不知道是不是运行环境不同。看来你只能请教别人了。我帮不了你。

多谢你的回答~让我知道应该从哪里找原因~
我去百度一下~

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-22 19:39
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
我自己解决了。使用 g++ 编译器编译

 前面我使用的是 gcc 编译器编译的出错
 
 在百度上查了,有说是系统函数库配置的问题。
 也有说在用 gcc 编译是加上 -lm 在手动链接一次数学库
        实验了都没有用,还是编译失败

 最后使用 g++ 编译器,就没有任何问题的成功了。
        不过我还是不知道,问题的具体原因。为什么会这样。
        只知道使用 g++ 编译没问题。

 等以后深入Linux应该就会知道为什么了把。。

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-22 21:13
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
以下是引用西瓜shine在2016-7-22 22:47:03的发言:

你用的是什么编程环境?
 
我复制了一下你的代码,运行无误
恩,我用的是Linux系统。
  是系统调用的问题。

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-22 23:39
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
以下是引用zx315在2016-7-23 09:53:42的发言:

gcc main.c -lm
 
把 -lm 放在后面可以编译通过
 
gcc -lm main.c
 
这样编译不通过
 
原因不清楚,需要去查一个 gcc 编译器的文档~

恩,这样也可以通过~不过也不知道是为什么~
  可以确定应该是 gcc 配置的问题~
      不过linux也是新手,看gcc的文档有困难~都不理解。

现在可以继续写我的程序就好,先不管这些细节了。

谢谢你~

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-23 12:41
快速回复:c语言使用三角函数的一个疑问 
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013912 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved