请问在linux下C中({})是什么用法
如下代码,我知道功能,但是这是什么用法啊,我都不知道怎么去google
#include<stdio.h>linux c google
//#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;
}
[解决办法]
试试:braced-groups within expressions
[解决办法]
具有返回值的复合语句
复合语句是大括号包围的语句块, 其返回值是复合语句中最后一个表达式的类型和值.
例如:
ret = ({
int a = 5;
int b;
b = a+3;
});
返回值ret的值是8.