24小时热门版块排行榜    

查看: 541  |  回复: 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的回帖

wyzhang2012

禁虫 (初入文坛)

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

5楼2014-04-09 17:59:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

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的回帖
信息提示
请填处理意见