int a=17,b=3,r=1;
r = a - a / b * 4 % 3 + r;
C 程序将按什么顺序执行:
你们能给我一个关于 C 程序执行这些命令的顺序的可靠解释吗?
kl-kl+jkljkl-jk-l-jkl-jk-l-jkl
答案由优先级和关联性决定。
二进制
*
的优先级高于二进制 +
,所以
a + b * c
相当于 a + ( b * c )
。d * e + f
相当于 ( d * e ) + f
。二进制
+
和二进制 -
具有相同的优先级,因此我们参考结合性。它们是左结合的,所以
a + b - c
相当于 ( a + b ) - c
。d - e + f
相当于 ( d - e ) + f
。二进制
*
、二进制 /
和二进制 %
的想法相同。
组合示例:
a + b * c + d
相当于 ( a + ( b * c ) ) + d
。