GNU C 的复合语句

来源:互联网 发布:总裁小说改编的网络剧 编辑:程序博客网 时间:2024/06/02 23:55

GNU C把包含在括号中的复合语句看作是一个表达式。这样就允许你在表达式中使用循环、switch语句以及局部变量。

让我们回忆一下,复合语句是用大括号括起来的一组表达式,在这种构造之下,大括号外面要有一对圆括号。例如:


({ int y = foo (); int z;   if (y > 0) z = y;   else z = - y;   z; })

就是一个合法的求foo()的绝对值的表达式(虽然比必要的复杂一点)。

复合语句的最后必须是一个以分号结尾的语句;而这个子语句的值将会被当成整个表达式的值。在这里,如果你使用了其它一些用大括号括起来的语句,由于这个语句的返回值为空,所以实际上整个语句值为空。

http://blog.csdn.net/lhf0921/article/details/5474067

原创粉丝点击