Awk编程:表达式、模式与特殊模式详解
1. 运算符优先级
运算符优先级决定了在一个表达式中不同运算符相邻出现时的分组方式。例如, * 的优先级高于 + ,所以 a + b * c 意味着先计算 b 和 c 的乘积,再将 a 加到乘积上,即 a + (b * c) 。
可以使用括号来改变运算符的正常优先级。在运算符组合不常见的情况下,使用括号是明智的,因为其他阅读程序的人可能不记得具体的优先级,即使是有经验的程序员也可能偶尔忘记规则而犯错,明确的括号有助于避免此类错误。
当使用具有相同优先级的运算符时,除赋值、条件和幂运算符从右到左分组外,最左边的运算符先分组。例如, a - b + c 分组为 (a - b) + c , a = b = c 分组为 a = (b = c) 。
前缀一元运算符
通常,前缀一元运算符的优先级并不重要,因为只有一种解释方式:从最内层开始。例如, $++i 表示 $(++i) , ++$x 表示 ++($x) 。但当操作数后面跟着其他运算符时,一元运算符的优先级就会产生影响。例如, $x^2 表示 ($x)^2
超级会员免费看
订阅专栏 解锁全文
1

被折叠的 条评论
为什么被折叠?



