小编Jef*_*nce的帖子

在什么版本的C中,括号内的块用于返回有效的值?

如果我做:

int j = ({int x = 7; x+3;});
Run Code Online (Sandbox Code Playgroud)

在i686-apple-darwin10-gcc-4.2.1(GCC)4.2.1(Apple Inc. build 5646)gcc它编译得很好.有问题的块({int x = 7; x+3;})返回最后一个语句的值作为块的值.如果删除括号,则无法编译.我能指望这在大多数C编译器中都能使用吗?

另外,这个结构的名称是什么?我在搜索它时遇到了很多麻烦,因为搜索引擎没有索引()或者{}C是一个糟糕的搜索词.我也无法在任何书中找到任何关于它的内容,可能是因为我不知道该找什么.

c

18
推荐指数
3
解决办法
3710
查看次数

标签 统计

c ×1