我知道这个话题已经出现了无数次,但我请求一点时间。
我曾多次尝试理解这一点,也是在评估顺序的背景下。我一直在寻找一些明确的例子来理解 op。优先级,我在这里找到了一个:http: //docs.roxen.com/pike/7.0/tutorial/expressions/operator_tables.xml我想知道的是那里给出的例子(我已经剪切粘贴在下面)是正确的。
1+2*2 => 1+(2*2)
1+2*2*4 => 1+((2*2)*4)
(1+2)*2*4 => ((1+2)*2)*4
1+4,c=2|3+5 => (1+4),(c=(2|(3+5)))
1 + 5&4 == 3 => (1 + 5) & (4 == 3)
c=1,99 => (c=1),99
!a++ + ~f() => (!(a++)) + (~(f()))
s == "klas" || i < 9 => (s == "klas") || (i < 9)
r = s == "sten" => r = (s == "sten")
例如,根据 C 规范,确实1+2*2*4
是1+((2*2)*4)
或者可能已经是。1+(2*(2*4))
任何帮助或对示例的进一步参考都会很有用。再次感谢。