| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 861 人关注过本帖
标题:[求助]关于float输出的问题?
只看楼主 加入收藏
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
收藏
 问题点数:0 回复次数:9 
[求助]关于float输出的问题?
#include<stdio.h>
max(float x,float y)
{
float z;
z=x>y?x:y;
return z;
}
main()
{
float a,b,c;
scanf("%f,%f,",&a,&b);
c=max(a,b);
printf("Max is %f",c);
}



比如输入:
1.5,2.5
结果是: Max is 2.000000

为什么不是2.500000?

[此贴子已经被作者于2007-8-5 13:42:29编辑过]

搜索更多相关主题的帖子: float 输出 
2007-08-05 13:14
leeldy
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-8-2
收藏
得分:0 
#include<stdio.h>
max(float x,float y) /*这个函数的作用是输出较大数*/
{
float z;
z=x>y?x:y; /*如果x>y则z=x,否则输出z=y*/
return z;
}
main()
{
float a,b,c;
scanf("%f,%f,",&a,&b);
c=max(a,b);
printf("Max is %f",c);
}

将输入的a,b中的较大数赋值给c
你输入的最大的数都是2,怎么可能输出2.500000呢???

↑↑↑↑↑↑↑↑如果我错了,请改正我的错误↑↑↑↑↑↑↑↑

2007-08-05 13:20
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
收藏
得分:0 

写错了.
应该是
输入是:1.5,2.5
结果是: Max is 2.000000

为什么不是2.500000?

[此贴子已经被作者于2007-8-5 13:41:31编辑过]


[url=http://www..cn]电子编程[/url]
2007-08-05 13:41
melodylsp
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-7-22
收藏
得分:0 
返回值的问题
max(float x,float y) 要写成
float max(float x,float y)
如果没有返回值类型,tc默认为int型,2.500000就变成2了

2007-08-05 14:12
AQcdr
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-8-22
收藏
得分:0 
要对函数的类型进行定义,否则 凡是未在调用前定义的函数,都默认其返回植为整形

------------------------------------------------ 阿庆AQcdr
2007-08-05 16:24
寒水
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-5
收藏
得分:0 
在调用函数之前你应该定义函数的类型,如果不定义系统会默认为是int型的.

2007-08-05 16:40
小野猫
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-13
收藏
得分:0 
赞成4,5,6楼的说法
被调函数要定义为float型,因为如果不加以定义,而只有裸的函数名,在C语言之中系统会自动按整形处理。
所以返回值也就变成了整形。
虽然你在函数中定义的变量Z为单精度浮点型,但返回值类型以函数类型为准。

2007-08-05 17:09
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
收藏
得分:0 
形参里面不是已经定义了float。输出不是浮点数了吗。

[此贴子已经被作者于2007-8-5 18:37:30编辑过]



[url=http://www..cn]电子编程[/url]
2007-08-05 18:17
jackys2006
Rank: 1
等 级:新手上路
帖 子:195
专家分:0
注 册:2006-3-10
收藏
得分:0 
不是,2.5这个值在传递之前先进行强制类型转换,转换为2,在返回主函数去
所以,赋给主函数中的c的时候,这个值已经变为2了
赋给c的时候,又将整数2转换为浮点数2.000000

2007-08-05 19:04
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
收藏
得分:0 
哦,终于明白了。谢谢各位

[url=http://www..cn]电子编程[/url]
2007-08-05 22:00
快速回复:[求助]关于float输出的问题?
数据加载中...
 
   



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

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