读书人

请教在linux下C中({})是什么用法

发布时间: 2013-10-17 17:26:17 作者: rapoo

请问在linux下C中({})是什么用法
如下代码,我知道功能,但是这是什么用法啊,我都不知道怎么去google

#include<stdio.h>
//#include<iostream>
int main(int argc,char** argv){
int a=({int m1=1;
int m2=2;
int m3=3;
char d='a';
1;
m3;
//d;//invalid
//m1>m2?m1:m2;
});
//std::cout<<a<<std::endl;
printf("a=%d\n",a);
return 0;
}
linux c google
[解决办法]
试试:braced-groups within expressions
[解决办法]
具有返回值的复合语句
复合语句是大括号包围的语句块, 其返回值是复合语句中最后一个表达式的类型和值.
例如:
ret = ({
int a = 5;
int b;
b = a+3;
});
返回值ret的值是8.

读书人网 >C语言

热点推荐