prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 3.5

但操作符呢?&&||我看到像“
while((c = getchar()) != EOF && c != '\n')这样的代码'' ...


对于这些操作符有一个特殊的“短路”例外:如果左侧已经确定了结果(即对于||为真或对于&&为假),则右侧不被求值。因此,保证了从左到右的求值顺序,逗号操作符也是如此(但请参阅问题 3.7)。此外,所有这些操作符(以及?:)都引入了一个额外的内部顺序点(请参阅问题 3.8)。

参考:K&R1 第 2.6 节第 38 页,第 A7.11-12 节第 190-1 页
K&R2 第 2.6 节第 41 页,第 A7.14-15 节第 207-8 页
ISO 第 6.3.13 节,第 6.3.14 节,第 6.3.15 节
H&S 第 7.7 节第 217-8 页,第 7.8 节第 218-20 页,第 7.12.1 节第 229 页
CT&P 第 3.7 节第 46-7 页


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管