首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

简单小代码:不用计算不用位操作来实现加

简单小代码:不用计算不用位操作来实现加

简单小代码:不用计算不用位操作来实现加1
用位操作虽然可以实现加1,但似乎还得要 循环 来帮助。
最简单的事情莫过于让编译器来帮你实现加1功能。
int _inc(int i)
{
      char (*p)[2] = (char (*)[2])i;
return (int)&((*p)[1]);
}
int main()
{
      printf("%d\n", _inc(100));
return 0;
}  
可以更简单点,直接定义为宏:
#define _INC(x)            (int)&((*((char(*)[2])x))[1])
继承事业,薪火相传
返回列表