【发布时间】:2011-12-29 08:49:41
【问题描述】:
我正在阅读this 问题,然后我做了以下内容。
a = b + (c - (b = c)) + (a - (c = a))
我在 C 和 Java 中尝试过。它适用于 java ,但不适用于 C。
当然,这取决于编译器如何评估这些表达式,在谷歌搜索之后,我没有找到答案。
【问题讨论】:
-
编译器不会评估这些表达式(好吧,如果它们是常量,它可能,但它一定不会产生影响)。它只是用另一种语言生成大致等效的代码(
javac的情况下为 JVM 字节码,gcc的情况下为您的处理器的机器代码,cl.exe等)。
标签: java c compiler-construction