C语言中运算符的优先级是计算优先级还是结合优先级

滚滚红尘中之沧海一粟 2009-11-16 04:42:03
很多教材上都说运算符的优先级是指计算的优先级,但也有说运算符的结合的优先级,两者到底哪个正确?
...全文
164 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangguixi 2009-11-17
  • 打赏
  • 举报
回复
看情况。
飞天御剑流 2009-11-16
  • 打赏
  • 举报
回复
你换个编译器再试试,就明白了。
  • 打赏
  • 举报
回复
如下代码:
int a=1,b;
b=a+1+(a=4);
printf("b=%4d\n",b);

a=1;
b=(a+1)+(a=4);
printf("b=%4d\n",b);

为什么b的值是相同的。在VS2008调试。
song0511 2009-11-16
  • 打赏
  • 举报
回复
不必在乎!
WaistCoat14 2009-11-16
  • 打赏
  • 举报
回复
我有时也晕,实在记不住就用()来区分
bolins 2009-11-16
  • 打赏
  • 举报
回复
真不明白。只有顶顶。
xxf012005 2009-11-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 supermegaboy 的回复:]
"计算的优先级"这一说法是错误的。C/C++的求值顺序是未指定的,优先级、结合性不影响求值顺序,某个运算符比另一个运算符优先并不意味着该运算符所处的子表达式首先被计算。
[/Quote]
顶.
qygfr 2009-11-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 supermegaboy 的回复:]
"计算的优先级"这一说法是错误的。C/C++的求值顺序是未指定的,优先级、结合性不影响求值顺序,某个运算符比另一个运算符优先并不意味着该运算符所处的子表达式首先被计算。
[/Quote]
我是新手,请详解!!!
飞天御剑流 2009-11-16
  • 打赏
  • 举报
回复
"计算的优先级"这一说法是错误的。C/C++的求值顺序是未指定的,优先级、结合性不影响求值顺序,某个运算符比另一个运算符优先并不意味着该运算符所处的子表达式首先被计算。
clhposs 2009-11-16
  • 打赏
  • 举报
回复
这种问题不必深究

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧