|
|
1
7
这对我来说很有意义:
从左到右分组,我们得到:
另请参见 precedence table . 它们具有相同的优先级,因此它们从左到右绑定。 |
|
2
5
你需要知道 优先 以及 结合性 操作人员。 乘法(*)比加法(+)具有更高的优先级,这就是为什么在C和普通数学中,2+3*4被解释为2+(3*4)。但是在2*3/4或2*3*4这样的表达式中,操作符的优先级都相同,您需要查看关联性。对于大多数运算符,它是从左到右的,这意味着从左开始分组:2*3/4变为(2*3)/4,2*3*4*5变为((2*3)*4)*5,依此类推。 一个例外是赋值,它是C中的一个运算符。赋值是右相关的,所以a=b=3应该读作a=(b=3)。 任何好的C书或教程都应该有一个包含所有运算符的表(例如 this one ,具有优先级和关联性。 |
|
|
3
2
访问以下URL。它对C语言中的所有主题都非常有用,因此您也可以使用运算符优先级。
|
|
|
4
1
|
|
|
5
1
imho,很好地了解这些运算符的先例,但是最好在有疑问时使用括号:—)。正如大师们所说,代码更适合人类读者,而不是机器读者;如果作者不确定,读者也不会。 |
|
|
6
0
乘法和除法是左相关的,所以第二个顺序是发生的-操作被分组为(4/3),然后结果乘以-3。 |
|
|
7
0
|
|
|
8
0
对于数学来说,C的工作方式和你在高中时学的一样。记住Bodmas(除法、乘法、加法和减法的括号)。这意味着它从左到右查找一个计算。在这种情况下,它看到
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 9 月前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 9 月前 |
|
|
Bobby · 复合字面值总是左值吗? 10 月前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 10 月前 |