|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请大虾帮忙看下这段代码,我怎么觉得这个结果不对啊,整型存储单元不是4吗?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1075
人关注过本帖
标题:
请大虾帮忙看下这段代码,我怎么觉得这个结果不对啊,整型存储单元不是4吗? ...
只看楼主
加入收藏
qjunshen
等 级:
新手上路
帖 子:20
专家分:0
注 册:2010-5-11
结帖率:
75%
楼主
收藏
已结贴
√
问题点数:20 回复次数:11
请大虾帮忙看下这段代码,我怎么觉得这个结果不对啊,整型存储单元不是4吗?
#include<stdio.h>
main()
{
int a,b,c;
double d=38.4;
a=sizeof(a);
b=sizeof(d);
c=(int)&d;
printf("a=%d\nb=%d\nc=%d\nd=%g",a,b,c,d);
getch();
}
搜索更多相关主题的帖子:
整型
单元
代码
结果
2010-08-13 11:41
举报帖子
使用道具
赠送鲜花
liuzhengshen
等 级:
论坛游侠
帖 子:83
专家分:141
注 册:2010-4-23
第
2
楼
收藏
得分:0
#include<stdio.h>
int main(void)
{
int a,b,c;
double d=38.4;
a=sizeof(a);
b=sizeof(d);
c=(int)d;
printf("a=%d\nb=%d\nc=%d\nd=%g\n",a,b,c,d);
return 0;
}
2010-08-13 11:50
举报帖子
使用道具
赠送鲜花
liuzhengshen
等 级:
论坛游侠
帖 子:83
专家分:141
注 册:2010-4-23
第
3
楼
收藏
得分:0
你那&取地址加上是什么意思,怎么能把d的地址给c变量呢,不要加&去地址符号
2010-08-13 11:52
举报帖子
使用道具
赠送鲜花
erikyo
等 级:
蜘蛛侠
威 望:
2
帖 子:270
专家分:1154
注 册:2010-6-10
第
4
楼
收藏
得分:0
#include<stdio.h>
main()
{
int a,b,c;
double d=38.4;
a=sizeof(a);
//计算int型整数的长度,并赋值给a,根据编译器的不同可能是2或者4,现在大部分是4
b=sizeof(d);
//计算double型数据d的长度并赋值给b,一般为8
c=(int)&d;
//&d表示数据d其实地址,强制转换成int类型的数据,然后复制给c。
printf("a=%d\nb=%d\nc=%d\nd=%g",a,b,c,d);//输出abcd的值
getch();
}
如果你不确定,可以加一条打印&d值的表达式
printf("&d=%d\n",&d);
你会发现他和c是一样的。
2010-08-13 12:06
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
5
楼
收藏
得分:0
这个程序哪和楼主想的不一样呀?楼主也没说清楚……
你应该把你想的什么样,和执行結果什么样都说一下。我也好知道你哪不懂。
2010-08-13 13:53
举报帖子
使用道具
赠送鲜花
qjunshen
等 级:
新手上路
帖 子:20
专家分:0
注 册:2010-5-11
第
6
楼
收藏
得分:0
以下是引用
pangding
在2010-8-13 13:53:37的发言:
这个程序哪和楼主想的不一样呀?楼主也没说清楚……
你应该把你想的什么样,和执行結果什么样都说一下。我也好知道你哪不懂。
其实我想知道,整型在我看到的书上说是需要4字节,但我运行这个程序显示的却是2个字节,这是怎么回事?或者说区别是什么?为什么有的整型存储需要2字节有的需要4字节?
2010-08-14 18:18
举报帖子
使用道具
赠送鲜花
sdmscu
等 级:
论坛游民
帖 子:32
专家分:15
注 册:2010-7-7
第
7
楼
收藏
得分:0
回复 4楼 erikyo
按照你说的
输出&d
和c
不一样啊
输出结果如下:
a=4
b=8
c=3078424
d=1.50294e-317
2010-08-14 20:53
举报帖子
使用道具
赠送鲜花
crazysand
等 级:
论坛游民
帖 子:3
专家分:24
注 册:2010-8-14
第
8
楼
收藏
得分:20
回复 6楼 qjunshen
这个和操作系统有关系,因为你的机器是16位操作系统,整数类型占2个字节,所以int a;后sizeof(a)是2。如果你的机器是32位操作系统,那么整形是4个字节。
2010-08-14 22:31
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
9
楼
收藏
得分:0
看来楼主用的 TC……
2010-08-14 22:40
举报帖子
使用道具
赠送鲜花
燕强
等 级:
论坛游侠
帖 子:78
专家分:188
注 册:2010-8-11
第
10
楼
收藏
得分:0
学习了
2010-08-15 17:32
举报帖子
使用道具
赠送鲜花
12
1/2页
1
2
快速回复:
请大虾帮忙看下这段代码,我怎么觉得这个结果不对啊,整型存储单元不是 ...
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.049004 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved