搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 一个神奇的问题和它的答案
标题:
一个神奇的问题和它的答案
只看楼主
czz5242199
等 级:
小飞侠
威 望:
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
来 自:ShangHai
等 级:
蜘蛛侠
威 望:
6
帖 子:2109
专家分:1385
注 册:2007-6-19
第
2
楼
得分:7
0 == 0
—>〉Sun〈<—
2013-11-27 20:47
A1102029952
等 级:
新手上路
帖 子:18
专家分:8
注 册:2013-6-10
第
3
楼
得分:7
看不懂
2013-11-27 20:52
cosdos
来 自:ShangHai
等 级:
蜘蛛侠
威 望:
6
帖 子:2109
专家分:1385
注 册:2007-6-19
第
4
楼
得分:0
浮点数 0.0 的所有位都为0。
—>〉Sun〈<—
2013-11-27 20:52
cosdos
来 自:ShangHai
等 级:
蜘蛛侠
威 望:
6
帖 子:2109
专家分:1385
注 册:2007-6-19
第
5
楼
得分:0
任何情况
—>〉Sun〈<—
2013-11-27 20:53
A1102029952
等 级:
新手上路
帖 子:18
专家分:8
注 册:2013-6-10
第
6
楼
得分:0
实型的二进制没学好象
2013-11-27 20:54
a151141
等 级:
黑侠
威 望:
1
帖 子:197
专家分:680
注 册:2012-10-19
第
7
楼
得分:7
好像是所有情况
世界上幸福的事就是抓到一只羊,更幸福的事就是抓到两只羊……
2013-11-27 21:30
beyondyf
等 级:
贵宾
威 望:
103
帖 子:3282
专家分:12654
注 册:2008-1-21
第
8
楼
得分:7
出于好奇,我实际测试了32位整型范围内的所有值,结果是任何情况下都可以输出TRUE。真心想知道你的答案是什么
对了,测试代码是用GCC 4.8.1编译的,操作系统是ubuntukylin 13.10。
重剑无锋,大巧不工
2013-11-27 21:35
韶志
来 自:斗气大陆
等 级:
贵宾
威 望:
44
帖 子:2223
专家分:13592
注 册:2013-3-22
第
9
楼
得分:7
神奇之处?
n 没有赋值,只有地址
不管你怎么强制转换类型,它的地址是不会变的
if中等于是在比较 n 的地址 应该是任何情况下都输出 TRUE 吧
三十年河东,三十年河西,莫欺少年穷!
2013-11-27 21:45
wht750109
等 级:
论坛游侠
帖 子:49
专家分:151
注 册:2013-10-21
第
10
楼
得分: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
30
1/3页
1
2
3
参与讨论请移步原网站贴子:
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