首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

地址及优先级的有关问题

2012-09-10 
地址及优先级的问题Question 1:C/C++ codecoutsizeof(float)endlfloat a 1.0ffloat b 0.0fcout

地址及优先级的问题
Question 1:

C/C++ code
    cout<<sizeof(float)<<endl;    float a = 1.0f;    float b = 0.0f;    cout<<&a<<endl;    cout<<&b<<endl;    cout<<((int)(&a)-(int)(&b))<<endl;

为什么会是(int)(&a)-(int)(&b) = 12 ??我觉得是4才对啊

Question 2:
unsigned char a =0xA5;
unsigned char b=~a>>4;
cout<<(int)b<<endl;
《程序员面试宝典》上说>>的优先级比~要高,但是《The C programming language》上2.12节说是~的优秀级高。
但计算结果确实是先计算>>再计算~。怎么解释??

[解决办法]
1.计算两个变量地址间的差值,没什么意义。
2.看标准吧。拿不准就打括号,还方便代码阅读。
[解决办法]
探讨
《程序员面试宝典》上真的是那么解释的?真实扯淡啊

[解决办法]
探讨
引用:

1.计算两个变量地址间的差值,没什么意义。
2.看标准吧。拿不准就打括号,还方便代码阅读。

理论上问题1的地址相差为4才对,为什么差了12字节?

热点排行