|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 为什么结果是8而不是4呢?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1205
人关注过本帖
标题:
为什么结果是8而不是4呢?
只看楼主
加入收藏
青衣修罗
等 级:
论坛游侠
帖 子:22
专家分:129
注 册:2010-9-16
第
11
楼
收藏
得分:2
很简单啊 令a=2;则输出为4,所以5楼的回答才是正解。
解释一下,c语言的sizeof是一种操作符而非函数,优先级为2级,比/、%等运算符优先级高
程序就是:任何有目的的、预想好的动作序列。
2010-09-26 17:06
举报帖子
使用道具
赠送鲜花
cacker
该用户已被删除
第
12
楼
收藏
得分:0
提示:
作者被禁止或删除 内容自动屏蔽
2010-09-26 19:51
举报帖子
使用道具
赠送鲜花
倩玮瑞
等 级:
论坛游民
帖 子:40
专家分:12
注 册:2009-3-7
第
13
楼
收藏
得分:2
五楼的解释很正确啊!
"sizeof"的优先级比"/"高,所以肯定是先sizeof b,再/a啦。
你试试这个就知道了
#include<stdio.h>
void main()
{int a=1;
double b=10;
printf("%d",sizeof b/a);
}
2010-09-26 20:46
举报帖子
使用道具
赠送鲜花
abcd1f2
等 级:
新手上路
帖 子:6
专家分:0
注 册:2010-9-25
第
14
楼
收藏
得分:0
现在64的计算机double都是八位的啊
2010-10-06 22:27
举报帖子
使用道具
赠送鲜花
wade2006
等 级:
论坛游民
帖 子:49
专家分:27
注 册:2007-1-16
第
15
楼
收藏
得分:0
sizeof运算符的优先级比 / 运算符的优先级高,所以实际上是这样的:(sizeof b)/ a
2010-10-06 23:12
举报帖子
使用道具
赠送鲜花
superlin
等 级:
新手上路
帖 子:1
专家分:0
注 册:2010-10-7
第
16
楼
收藏
得分:0
回答楼上,应该是先b/a
2010-10-07 05:27
举报帖子
使用道具
赠送鲜花
yzlzklfx
等 级:
论坛游民
帖 子:2
专家分:10
注 册:2010-9-5
第
17
楼
收藏
得分:0
程序先算b/a,因为b是double型的数据类型,所以将运算结果也转换为了double,double占8位
2010-10-07 09:11
举报帖子
使用道具
赠送鲜花
17
2/2页
1
2
快速回复:
为什么结果是8而不是4呢?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.016595 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved