我已经在这个术语上绊倒了好一阵子(人、数学、编程、makefile等)
我对这个词理解正确吗?
评估是对某个表达式的结果的计算,例如:
a+b-表达式
为了评估它(通过数字得到一些结果),我们给出了如下的变量值
a=1,b=1
由此判断,我们得到一个结果“2”(这意味着我们用输入值将表达式求值为“2
a=1,b=1)

最佳答案

C 2018 5.1.2.3 2说“对一个表达式的评估通常包括价值计算和副作用的开始。”因此,是的,在很大程度上,评估是从某个表达式计算价值。在C中,评估还包括副作用,例如由x++引起的增量,它影响x但不影响其所处表达式的值。
5.1.2.3 2接着说“左值表达式的值计算包括确定指定对象的标识”。这更多的是关于描述C语言的语义,而不是关于执行计算,因此我在这里不再进一步讨论它。
6.5 1告诉我们“表达式是一系列运算符和操作数,用于指定值的计算,或指定对象或函数,或产生副作用,或执行其组合。”因此,对于表达式的值方面,表达式指定计算,而evaluation执行该计算。表达式还可以指定副作用,evaluation也会执行这些副作用。

10-04 11:54