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

Enockipp 2013-10-15 08:29:44
如下代码,我知道功能,但是这是什么用法啊,我都不知道怎么去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;
}
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhao 2013-10-18
  • 打赏
  • 举报
回复
楼主你也太不地道了,就给俺5分啊
zhao 2013-10-16
  • 打赏
  • 举报
回复
具有返回值的复合语句 复合语句是大括号包围的语句块, 其返回值是复合语句中最后一个表达式的类型和值. 例如: ret = ({ int a = 5; int b; b = a+3; }); 返回值ret的值是8.
Enockipp 2013-10-16
  • 打赏
  • 举报
回复
引用 3 楼 z1179675084 的回复:
具有返回值的复合语句 复合语句是大括号包围的语句块, 其返回值是复合语句中最后一个表达式的类型和值. 例如: ret = ({ int a = 5; int b; b = a+3; }); 返回值ret的值是8.
嗯,学习了,谢谢回复
Enockipp 2013-10-15
  • 打赏
  • 举报
回复
引用 1 楼 mujiok2003 的回复:
试试:braced-groups within expressions
多谢及时回复,我搜到了,在看,你要再给点信息就更好了,嘿
mujiok2003 2013-10-15
  • 打赏
  • 举报
回复
试试:braced-groups within expressions

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧