| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 511 人关注过本帖
标题:大哥大姐们帮帮小弟看看是哪里错了哟。。。
只看楼主 加入收藏
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
结帖率:50%
收藏
 问题点数:0 回复次数:9 
大哥大姐们帮帮小弟看看是哪里错了哟。。。
大哥大姐们帮帮小弟看看是哪里错了哟。。。顺便问下log以2为底5的对数怎么写呀
#include <stdio.h>
void sign (double x)
{
   printf("%lf\n",x > 0 ? 1 : x == 0 ? 0 : -1);
}
int main()
{
    sign (2.1);
    return 0;
}
搜索更多相关主题的帖子: 大哥大 double return include 
2012-10-30 12:50
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
貌似是printf()函数内的类型不匹配造成的,%lf貌似是长双精,应该属于浮点型数据,而后面的输出内容无论是1,0还是-1都是整型数据,那么实际输出的就有可能是垃圾数据,把%lf改成%d试试
另外“x > 0 ? 1 : x == 0 ? 0 : -1”部分那么长,建议用括弧分割下
我也是新手,说错勿怪。。。。。。。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-10-30 13:21
a635958000
Rank: 4
等 级:业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
收藏
得分:0 
log以2为底5的算法你可以把它转换成log以十为底2的数除以log以十为底5的数啊。
至于程序,二楼说的有道理。
2012-10-30 14:55
龙航四海
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:102
注 册:2012-10-17
收藏
得分:0 
数据类型有问题,并且x > 0 ? 1 : x == 0 ? 0 : -1中,是先执行后面一个判断,再进行前一个判断
2012-10-30 15:00
天剑山
Rank: 4
等 级:业余侠客
威 望:3
帖 子:119
专家分:266
注 册:2012-8-3
收藏
得分:0 
printf("%lf\n",x > 0 ? 1 : x == 0 ? 0 : -1);
x > 0 ? 1 : (x == 0 ? 0 : -1)
优先级
2012-10-30 15:24
dgd199152
Rank: 2
等 级:论坛游民
帖 子:18
专家分:55
注 册:2012-2-15
收藏
得分:0 
要么像二楼说的lf改为d,要么在判断句前加一个双精度浮点数用来取判断句的值
2012-10-30 16:29
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
回复 2楼 yaobao
呵呵。。。谢谢啦
2012-10-31 16:28
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
回复 5楼 天剑山
嗯嗯谢啦
2012-10-31 16:39
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
回复 6楼 dgd199152
谢谢啦
2012-10-31 16:43
hangdianqian
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-10-19
收藏
得分:0 
三楼说反了吧 应该log以十为底5的数除以log以十为底2的数啊。
2012-10-31 17:17
快速回复:大哥大姐们帮帮小弟看看是哪里错了哟。。。
数据加载中...
 
   



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

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