*(ptr++) += 123
2024-09-27 00:32:41
*(ptr++) += 123;
等价于:*(ptr) = *(ptr) + 123; ptr++;
而不是:*(ptr++) = *(ptr++) + 123;程序员面试宝典p32
#include <stdio.h>
int main()
{
unsigned char a = 0xA5;
unsigned char b = ~a >> 4 + 1;
printf("%d\n",b);
}
答案是250.
1、算术优先级:“~” 大于 “+” 大于 “>>”
2、类型转换:对于混合类型的算术表达式,应将其类型变换为最宽的数据类型。
在本题中,~a >> 4 + 1 ,常量的默认类型是int,所以应先将a变换4个字节进行处理。
最新文章
- MVC开发模式下的用户角色权限控制
- python/matplotlib库的安装
- [No00006B]方便的网络下载工具wget 可下载网站目录下的所有文件(可下载整个网站)
- thinkPHP访问不同表前缀
- inline-block和block的区别
- JSONArray遍历
- 称球问题(zt)
- javacv
- sqlserver 理解数据集
- 用QT 还是MFC ? (转)
- 【转】aiohttp 源码解析之 request 的处理过程
- 在MySQL中创建实现自增的序列(Sequence)的教程
- slots
- 【原创】leetCodeOj ---Remove Duplicates from Sorted List II 解题报告
- 章节2:SQL之多表连接
- swift UIButton边框添加阴影效果
- div内长串数字或字母不断行处理
- 怎样才能收集到所有开发人员的blog(待续&hellip;)
- Struts2--验证框架
- 关于 RESTful API 中 HTTP 状态码的定义