| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:求助关于类型转换 谢谢
只看楼主 加入收藏
大大猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2011-8-19
结帖率:81.25%
收藏
已结贴  问题点数:10 回复次数:12 
求助关于类型转换 谢谢
void main()
{
    float a=1.0f;
    cout<<(int)a<<endl;
    cout<<&a<<endl;
    cout<<(int &)a<<endl;
    cout<<((int)a==(int &)a)<<endl;
    float b=0.0f;
    cout<<(int)b<<endl;
    cout<<(&b)<<endl;
    cout<<(int &)b<<endl;
    cout<<((int)b==(int &)b)<<endl;
}
结果都输出什么啊 a和b的类型一样,为什么最后的结果不一样,一个得1一个得0,麻烦讲下原理,看书上的解释没看懂,谢谢
搜索更多相关主题的帖子: void void 
2011-09-25 11:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
cout<<(int)a<<endl;
这种写法是你自己参悟出来?挺有创意,值得研究!

授人以渔,不授人以鱼。
2011-09-25 11:43
大大猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2011-8-19
收藏
得分:0 
不是 这是面试宝典上的原题,这种形式就是强制转换呀,这不是挺常见吗
2011-09-25 11:51
拾忆
Rank: 2
等 级:论坛游民
帖 子:23
专家分:63
注 册:2011-9-23
收藏
得分:0 
# include<iostream>
using namespace std;
void main()
{
    float a=1.0f;
    cout<<(int)a<<endl;
    cout<<&a<<endl;
    cout<<(int &)a<<endl;
    cout<<((int)a==(int &)a)<<endl;
    float b=0.0f;
    cout<<(int)b<<endl;
    cout<<(&b)<<endl;
    cout<<(int &)b<<endl;
    cout<<((int)b==(int &)b)<<endl;
}
你的程序开头都少了头文件和空间命名!
数据类型一样,但a=1.0f,b=0.0f怎么结果会一样呢!
2011-09-25 11:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
转换给什么变量了?定义的a是什么?临时转成int,但最终还是存在float的空间中呀。

授人以渔,不授人以鱼。
2011-09-25 11:53
大大猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2011-8-19
收藏
得分:0 
回复 4楼 拾忆
那个我加了 我是每段问最后那句cout<<((int)a==(int &)a)<<endl和cout<<((int)b==(int &)b)<<endl;的结果为什么不一样,前边那些输出都不算
2011-09-25 11:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
噢,看错了cout成cin。
float转成int输出,你实际运行一下是什么结果?高精度转成低精度,无法预料,除非你平时总干这种事。

授人以渔,不授人以鱼。
2011-09-25 11:59
大大猫
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2011-8-19
收藏
得分:0 
回复 7楼 TonyDeng
表达式的结果无非是0和1,但是a和b的结果为什么不一样呢,a和b都是float,按理应该一样啊,我觉得都应该是0呀
2011-09-25 12:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这家是什么公司用这种题考人?

授人以渔,不授人以鱼。
2011-09-25 12:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
未必的,float型的0.0,你猜编译器当那是什么?
你实际运行一下啦,多做测试,用多种编译器都试一下。

授人以渔,不授人以鱼。
2011-09-25 12:05
快速回复:求助关于类型转换 谢谢
数据加载中...
 
   



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

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