搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 运算优先级
标题:
运算优先级
只看楼主
ming561
等 级:
新手上路
帖 子:3
专家分:0
注 册:2021-12-13
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:4
运算优先级
flag = DATA_SAVE_BUFF_LEN - write_flash_num + (PAGE_SIZE >> 2);
运算时没有先算括号里的
有警告: Operator '<<' has lower precedence than '+'; '+' will be evaluated first
搜索更多相关主题的帖子:
Operator
first
运算
优先级
括号
2021-12-13 10:53
diycai
等 级:
贵宾
威 望:
19
帖 子:147
专家分:895
注 册:2021-5-18
第
2
楼
得分:5
运算符优先级一般是编写编译器的时候需要重点关注的问题。
写普通程序建议尽量在容易产生歧义的地方加上括号,这样读者更清晰易懂。
2021-12-13 11:18
ming561
等 级:
新手上路
帖 子:3
专家分:0
注 册:2021-12-13
第
3
楼
得分:0
回复 2楼 diycai
我已经加上括号了呀
2021-12-13 13:16
diycai
等 级:
贵宾
威 望:
19
帖 子:147
专家分:895
注 册:2021-5-18
第
4
楼
得分:15
回复 3楼 ming561
宏定义PAGE_SIZE 加括号了吗?
比如 #define PAGE_SIZE 256+256
那么 PAGE_SIZE >> 2 就等于 256+256>>2 而不是 (256+256)>>2, 虽然两者是一样的。
但是如果你用 PAGE_SIZE * 2,那么结果就不一样了。
2021-12-13 13:23
ming561
等 级:
新手上路
帖 子:3
专家分:0
注 册:2021-12-13
第
5
楼
得分:0
回复 4楼 diycai
傻了,是我宏定义也有移位,没加括号
2021-12-13 13:40
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-507858-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.016048 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved