标题:一个神奇的问题和它的答案
只看楼主
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
结帖率:81.25%
已结贴  问题点数:100 回复次数:29 
一个神奇的问题和它的答案
上课的时候老师提到的,答案真心挺神奇的(虽然没啥用),第一个给出完整正确答案的100分

int n;
if (n==(int)(float)n) printf("TRUE");


问什么情况下能输出TRUE
搜索更多相关主题的帖子: 正确答案 
2013-11-27 20:35
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:7 
0 == 0

—>〉Sun〈<—
2013-11-27 20:47
A1102029952
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2013-6-10
得分:7 
看不懂
2013-11-27 20:52
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
浮点数 0.0 的所有位都为0。

—>〉Sun〈<—
2013-11-27 20:52
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
任何情况

—>〉Sun〈<—
2013-11-27 20:53
A1102029952
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2013-6-10
得分:0 
实型的二进制没学好象
2013-11-27 20:54
a151141
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:197
专家分:680
注 册:2012-10-19
得分:7 
好像是所有情况

世界上幸福的事就是抓到一只羊,更幸福的事就是抓到两只羊……
2013-11-27 21:30
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:7 
出于好奇,我实际测试了32位整型范围内的所有值,结果是任何情况下都可以输出TRUE。真心想知道你的答案是什么

对了,测试代码是用GCC 4.8.1编译的,操作系统是ubuntukylin 13.10。

重剑无锋,大巧不工
2013-11-27 21:35
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:7 
神奇之处?
n 没有赋值,只有地址
不管你怎么强制转换类型,它的地址是不会变的
if中等于是在比较 n 的地址   应该是任何情况下都输出 TRUE 吧

三十年河东,三十年河西,莫欺少年穷!
2013-11-27 21:45
wht750109
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:49
专家分:151
注 册:2013-10-21
得分:7 
我试了所以的情况,n从-32768到32767都可以的。
void main()
{
    int n,i;
    for(i=0,n=-32768;n<32767;i++,n++)
    {
    if(n==(int)(float)n) printf("ture");
    if(i==2000)
        {
            i=0;
            printf("\ni==%d,n==%d",i,n);
            getch();
        }
    }
}
2013-11-27 21:50



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




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

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