|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ float型和int 的小疑问
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
842
人关注过本帖
标题:
float型和int 的小疑问
只看楼主
加入收藏
小小程序猿
等 级:
小飞侠
威 望:
1
帖 子:755
专家分:2785
注 册:2013-7-18
第
11
楼
收藏
得分:0
以下是引用
TonyDeng
在2013-9-4 18:05:54的发言:
换个问法,再看解释对不对:
int x = (int) (1.0/3*3);
x的结果是多少?
额
是
0
吗
孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-09-04 18:10
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
12
楼
收藏
得分:0
强制把double解释成int,确实是未定义行为,但不是能不能用什么格式符的问题,C语言允许随意解释内存,自然容易出现这种现象,也就是语言本身太随意的问题。printf()函数的格式符%d,就是把数据解释成int的意思,是这个函数自己的行为。
[
本帖最后由 TonyDeng 于 2013-9-4 18:16 编辑
]
授人以渔,不授人以鱼。
2013-09-04 18:14
举报帖子
使用道具
赠送鲜花
jaygm11713
等 级:
新手上路
帖 子:4
专家分:0
注 册:2013-1-28
第
13
楼
收藏
得分:0
回复 10楼 TonyDeng
好的。感谢了
2013-09-05 13:57
举报帖子
使用道具
赠送鲜花
power_c
来 自:火星
等 级:
论坛游民
帖 子:19
专家分:33
注 册:2013-9-7
第
14
楼
收藏
得分:0
回复 楼主 jaygm11713
3楼终结此贴啊
----------------脑袋空不要紧,关键是不要进水
2013-09-07 21:21
举报帖子
使用道具
赠送鲜花
imzaghi333
来 自:江苏昆山
等 级:
论坛游民
帖 子:34
专家分:61
注 册:2013-9-7
第
15
楼
收藏
得分:0
#include<stdio.h>
void main()
{
printf("%d\n",1.0/3*3);
}
1.答案怎么为0?
------> %d的返回值是整形,肯定输出结果是0了,格式化参数改成%f
2.若改为printf("%f\n",1.0/3*3);答案为1.000
------>
挺正确的呀, 注意运算结合还有优先级.
3.printf("%d\n",3/2);答案为0.000
------> 应该输出 1,用Code::Blocks 12.11这个工具吧!
4.printf("%f\n",3/2);
答案为1
------> printf("%f", (float)3/2.0); 就可以输出 1.5
非专业的C语言爱好者.正在学习中..........
2013-09-07 21:41
举报帖子
使用道具
赠送鲜花
人_神
等 级:
论坛游侠
帖 子:44
专家分:103
注 册:2013-8-1
第
16
楼
收藏
得分:0
向三楼学习
2013-09-08 13:50
举报帖子
使用道具
赠送鲜花
米兰的大铁匠
来 自:天外
等 级:
论坛游民
帖 子:61
专家分:84
注 册:2013-7-16
第
17
楼
收藏
得分:0
3楼 +1
2013-09-08 16:18
举报帖子
使用道具
赠送鲜花
17
2/2页
1
2
快速回复:
float型和int 的小疑问
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029417 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved