我正在讨论 C 运算符的关联性这一主题。
在那里我遇到了这样一个事实,即函数调用运算符()
具有从左到右的关联性。但是只有当一个表达式中出现多个具有相同优先级的运算符时,关联性才会发挥作用。但是我找不到任何涉及函数调用运算符的示例,其中关联性起着至关重要的作用。
例如在语句a = f(x) + g(x);
中,结果取决于评估顺序而不是两个函数调用的关联性。同样,调用f(g(x))
将首先评估 function g()
,然后是 function f()
。在这里,我们有一个嵌套的函数调用,并且关联性再次不起作用。
此优先级组中的其他 C 运算符是数组下标[]
和。但是我找不到任何涉及这些运算符组合的示例,其中关联性在表达式评估中起作用。 postfix ++
postfix --
()
所以我的问题是函数调用的关联性被定义为从左到右是否会影响 C 中的任何表达式?任何人都可以提供一个例子,说明函数调用运算符的关联性()
在表达式评估中很重要吗?