c - 什么是评价?
问题描述
我在这个术语上绊倒了很长一段时间(人、数学、编程、makefile 等)。我是否正确理解了这个术语?评估是对某些表达式结果的计算,例如:
a + b - 表达式
为了评估它(通过数字获得一些结果),我们像这样给变量值
a = 1, b = 1
由此判断,我们得到一个结果“2”(这意味着我们用输入值将表达式评估为“2”
a = 1, b = 1)
解决方案
C 2018 5.1.2.3 2 说“<em>表达式的评估通常包括值计算和副作用的启动。” 所以,是的,在很大程度上,评估是从某个表达式计算值。在 C 中,求值还包括副作用,例如由 引起的增量x++
,它影响x
但不影响它所在的表达式的值。
5.1.2.3 2 继续说“左值表达式的值计算包括确定指定对象的身份。” 这更多是关于描述 C 语言的语义,而不是关于执行计算,所以我不会在这里进一步讨论。
6.5 1 告诉我们“表达式是一系列运算符和操作数,用于指定值的计算,或指定对象或函数,或产生副作用,或执行它们的组合。” 因此,对于表达式的值方面,表达式指定一个计算,而求值执行该计算。表达式还可以指定副作用,并且评估也会执行这些。
推荐阅读
- angular - 如何通过单击 ag-grid 中的按钮获取行数据
- python - 绘制一个填充 10% 的矩形
- excel - 如何在 Excel 中获取时间平均数据?
- android - Fragment 和 RecyclerView errorRecyclerView$ViewHolder.shouldIgnore()
- assembly - 为什么我们需要一个标志来指示零结果?
- ruby-on-rails - 在 Ruby on Rails 中以自定义格式将哈希转换为 csv
- angular - 如何为在其他地方加载的角度应用程序捆绑资产
- java - 当参数在输入中以不同形式存在时拆分字符串
- node.js - 注册回环后获取访问令牌
- angular - angular - 在 div 鼠标悬停时显示或隐藏按钮