为什么表达式和语句之间存在差异

Sul*_*man 8 c syntax

可能重复:
表达式与声明

表达意味着什么?评估某事的东西会返回一个值吗?

它与声明有何不同?语句是否可以包含表达式,反之亦然?

Fré*_*idi 11

表达式会"返回"一个值,尽管它们可能会被转换为(void).声明不评估任何内容,只有副作用.

例如;,它本身就是一个陈述,评估为零,没有副作用.


Buh*_*ndi 6

表达式是一个返回值的执行指令(即使它返回一个void).

语句用于形成程序的序列(例如if-then,while-do语句).语句可以是简单的也可以是复杂的,可以包含0个或更多表达式.

正如@FrédéricHamidi所说,a ;是一个有效的陈述.

维基: