24小时热门版块排行榜    

查看: 539  |  回复: 5

我爱小虫子

新虫 (正式写手)

[求助] c++一道程序输出,不理解 已有2人参与

程序如下,不明白*bb的输出为什么是fffffff7,求大神解释。

#include<iostream>
using namespace std;

void main()
{
        unsigned int aa=0x1ff7;

         char *bb=(char *)&aa;

        printf("%x\n",*bb);
        cout<<hex<<(int)*bb<<endl;
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
我爱小虫子: 金币+5, ★★★很有帮助, 非常感谢 2014-04-09 18:40:26
因为bb是char,所以*bb只取一个字节的内容,就是"F7",再将f7转换成int类型,当然就是FFFFFFF7。
2楼2014-04-09 11:08:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
2楼: Originally posted by rbs at 2014-04-09 11:08:17
因为bb是char,所以*bb只取一个字节的内容,就是"F7",再将f7转换成int类型,当然就是FFFFFFF7。

谢谢你,
但是printf("%x",*bb);这一项,我没有让他转换成int类型啊,为什么也是FFFFFFF7啊,还是不怎么理解
3楼2014-04-09 12:58:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

引用回帖:
3楼: Originally posted by 我爱小虫子 at 2014-04-09 12:58:29
谢谢你,
但是printf("%x",*bb);这一项,我没有让他转换成int类型啊,为什么也是FFFFFFF7啊,还是不怎么理解...

去学一下格式控制符的涵义与使用。
4楼2014-04-09 16:58:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wyzhang2012

禁虫 (初入文坛)

感谢参与,应助指数 +1
本帖内容被屏蔽

5楼2014-04-09 17:59:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
5楼: Originally posted by wyzhang2012 at 2014-04-09 17:59:43
unsigned int aa=0x1ff7;
aa的值是0x1ff7你把他的别名传给*bb ,bb获取的是aa
的地址 ??明白???  地址 和他保存的值是不一样的  求 金币 奖励

说实话不明白你说的这个和我的疑问有什么关系。。。。谢谢回复
6楼2014-04-09 18:39:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 我爱小虫子 的主题更新
信息提示
请填处理意见