搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 位移运算符这个怎么是17??
标题:
位移运算符这个怎么是17??
只看楼主
粉jj
等 级:
论坛游民
威 望:
1
帖 子:123
专家分:82
注 册:2011-3-8
结帖率:
85.11%
楼主
已结贴
√
问题点数:5 回复次数:4
位移运算符这个怎么是17??
#include <stdio.h>
#define PW(x,y) x*3+y>>2
main()
{int a=20,b;
b=PW(a+10,a);printf("%d\n",b);
getch();}
我算得27
搜索更多相关主题的帖子:
include
2011-03-21 20:08
ansic
来 自:恍惚窈冥
等 级:
城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
第
2
楼
得分:0
楼主代码读之晦涩!
善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-21 20:18
lonmaor
来 自:郑州
等 级:
版主
威 望:
75
帖 子:2637
专家分:6423
注 册:2007-11-27
第
3
楼
得分:5
宏定义使用时最好使用括号避免不必要的歧义,因为宏定义的展开式只是简单的替换。
从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2011-03-21 20:31
性感
等 级:
论坛游民
帖 子:25
专家分:15
注 册:2011-3-20
第
4
楼
得分:0
回复 3楼 lonmaor
明显乘法和加法的优先级高于移位运算符 不加括号也可以把
2011-03-21 20:35
粉jj
等 级:
论坛游民
威 望:
1
帖 子:123
专家分:82
注 册:2011-3-8
第
5
楼
得分:0
回复 3楼 lonmaor
谢谢。。。我知道了。
替换后就是
20+10*3+20>>2
所以得17.哈哈。谢谢各位。
2011-03-21 20:41
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-334334-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017529 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved