标题:一道有趣的题,y 的值是多少?
取消只看楼主
buddy_zhang
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2014-5-7
结帖率:100%
 问题点数:0 回复次数:5 
一道有趣的题,y 的值是多少?
#include <stdio.h>
#include <stdlib.h>

int main()
{
    double x,y;
    x = 1;
    y = x + 3/2;
    return 0;
}

//y的值为多少?
搜索更多相关主题的帖子: include double return 
2014-05-08 14:00
buddy_zhang
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2014-5-7
得分:0 
回复 2 楼 wp231957
那y等于几呢?
2014-05-08 14:14
buddy_zhang
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2014-5-7
得分:0 
回复 4 楼 ditg
y=2
2014-05-08 17:13
buddy_zhang
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2014-5-7
得分:0 
回复 9 楼 ditg
我可以这样理解吗
(1)y是double型,最后如果是printf(“%f”,y),则y此时的值应该是2.000000;
(2)此时是printf(“%d”,y),y从double剪切成int型。
(3)由于我的电脑是i386的小端格式,因为double是8个字节,int是4个字节,所以2.000000的低4字节存储了y的低字节,也就是0000H,高字节被丢弃,最后y的值为0000H
(4)所以最后y在进行输出的时候被剪切成0000H,所以打印出来y的值为0;
9楼厉害
2014-05-08 18:51
buddy_zhang
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2014-5-7
得分:0 
回复 8 楼 寂 __ 痴
我可以这样理解吗
(1)y是double型,最后如果是printf(“%f”,y),则y此时的值应该是2.000000;
(2)此时是printf(“%d”,y),y从double剪切成int型。
(3)由于我的电脑是i386的小端格式,因为double是8个字节,int是4个字节,所以2.000000的低4字节存储了y的低字节,也就是0000H,高字节被丢弃,最后y的值为0000H
(4)所以最后y在进行输出的时候被剪切成0000H,所以打印出来y的值为0;
4楼厉害
2014-05-08 18:52
buddy_zhang
Rank: 2
等 级:论坛游民
帖 子:33
专家分:24
注 册:2014-5-7
得分:0 
回复 13 楼 top398
get
2014-05-08 21:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-431208-1-1.html




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

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