【发布时间】:2018-07-30 12:09:57
【问题描述】:
我从 Stephen Prata 的“C Primer Plus”一书中学习了 C 语言,它来到了重点:
"一个完整的表达式不是一个更大的表达式的子表达式 表达式。完整表达式的示例包括 表达式语句和用作测试条件的表达式 一个while循环”
我无法清楚地理解完整表达式的确切定义是什么,以及为什么书中认为测试条件是完整表达式。
任何人都可以清楚地解释“完整表达”是什么意思吗?我如何指定一个表达是否是完整表达?
【问题讨论】:
-
"完整表达式的示例包括表达式语句中的表达式"...wat?
-
第一个短语的意思是,一个完整的表达式是最大的,而不是另一个表达式的子表达式。
-
嗯,这对你的学习C没有太大影响。他试图解释的是一个“完整的表达”,最好是循环本身的
while (condition) { /* ... stuff ... */ }语句我的阅读。这不是你应该失眠的术语,但要学会识别语句的完整范围等。见C11 - §6.8 Statements and blocks -
我不了解 C 书,但 Stephen Prata 的 C++ Primer Plus 书并没有受到高度评价。参见例如 .this review for some details.
-
@smac89 有个东西叫做“表达式语句”。它是一个表达式,可以选择后跟一个分号,实现语句的语义角色。也就是说,当你有一个表达式语句时,其中的表达式是一个完整的表达式。如果你有,比如
if (x > 3) x = 2;,那么x = 2;是一个表达式语句,因此其中的表达式 (x = 2) 是一个完整的表达式。
标签: c operators expression language-lawyer