2010-12-16 132 views

回答

15

这是GCC提供的C/C++语言的一个非标准扩展,名为statement expressions。如果您尝试使用-pedantic标志进行编译,则会收到警告“ISO C禁止在表达式中使用支撑组”。它是而不是便携式代码,应尽可能避免。

+2

我和亚当在这里。不要使用它。你不知道它可能提供什么样的性能,你知道它不是可移植的,你刚刚发现它很奇怪,并且间歇性地难以辨认。 – 2010-12-16 20:40:22

+0

看到它在编程竞赛的解决方案中使用。 – Shrey 2010-12-16 21:06:01

1

它声明称为 'A' 的局部变量,分配给它的值 '2',那么将a的值赋给x。

2

({ ... })语法是该语言的GCC扩展。可以把它看作是一个块状表达式,它可以评估块中最后一条语句的值。