返回信息流☆─────────────────────────────────────☆
tomharold (Tomharold) 于 (Wed May 5 15:31:22 2010) 提到:
#define get_bit(a,b,c) a<<b-c
int main() {
int a=1,b=5,c=4;
printf("%d\n",get_bit(a,b,c)+1);
return 0;
}
运行完这段代码的结果是4, 不知道为啥, 大家帮忙看看
☆─────────────────────────────────────☆
renne (歼灭天使 玲) 于 (Wed May 5 15:38:06 2010) 提到:
1<<2
【 在 tomharold (Tomharold) 的大作中提到: 】
: #define get_bit(a,b,c) a<<b-c
: int main() {
: int a=1,b=5,c=4;
: ...................
☆─────────────────────────────────────☆
shenlei (我爱果子|[路]|天山南北|潇湘隐士) 于 (Wed May 5 15:40:50 2010) 提到:
宏代替之后是a<<b-c+1
也就是1<<2
所以等于4...
【 在 tomharold (Tomharold) 的大作中提到: 】
: #define get_bit(a,b,c) a<<b-c
: int main() {
: int a=1,b=5,c=4;
: ...................
☆─────────────────────────────────────☆
tomharold (Tomharold) 于 (Wed May 5 15:41:57 2010) 提到:
哦 加减的优先级在移位之前啊 还以为先移再加呢
☆─────────────────────────────────────☆
nickluchen (Octopus Z) 于 (Wed May 5 16:17:29 2010) 提到:
C陷阱与缺陷上有个总结的表
大致就是 单目 大于 双目 大于 三目 运算符
双目中的顺序 是 算数、移位、关系、逻辑。
☆─────────────────────────────────────☆
vist (penetrate) 于 (Thu May 6 09:10:26 2010) 提到:
运算符优先级
☆─────────────────────────────────────☆
IETF (windancer) 于 (Thu May 6 20:25:02 2010) 提到:
宏定义的问题。大家都说了。
【 在 tomharold 的大作中提到: 】
: #define get_bit(a,b,c) a<<b-c
: int main() {
: int a=1,b=5,c=4;
: ...................
这是一条镜像帖。来源:北邮人论坛 / cpp / #39018同步于 2010/5/8
CPP机器人发帖
[合集] 一个关于宏的问题??
jokerlee
2010/5/8镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。