题目考点总结

1.printf("%d,%d\n",*ptr,*(++ptr)); 从右到左运算 所以两个输出相同 <程序员面试宝典>

2.在做类型转换一类题中 无法算出浮点数的二进制表示,所以要找书好好恶补一下组成原理.<程序员面试宝典>

3.

unsigned int a=0xFFFFFFF7;
char* b = (char*) &a;
printf("%08x",*b);
现在b指向的是0xf7, 这是一个负数,使用%08x 输出 就是ffffffff7

4.

unsigned char a=0xA5;
unsigned char b=~a>>4+1;
printf("b= %d\n",b);

类型转换(整数提升)问题和运算优先级问题 先把a和4的值转换为int 后再进行计算 +和~符号运算级均大于>>,所以正确的运算顺序是a取反并右移5位.这里是16位,0000 0000 1010 \

0101.取反得1111 1111 0101 1010,右移5位后是0000 0111 1111 1010.

5.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值