请教_一起调用多个函数时的一种奇怪的格式

2019-07-25 11:17发布

看到有人调用多个函数的时候使用了一种奇怪的格式:用逗号把函数分开,在最外面用小括号括起来,最后加一个分号。而且把最后一个函数的参数放到了外面。
大致如下:
(foo1(),foo2(),foo3)();
请问这是一种什么样的语法?

我写到程序里试了一下确实是能用的。
而且改成下面这样也能用。

(foo1(),foo2(),foo3());
求老司机指点下


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
xianshasaman
1楼-- · 2019-07-25 13:32
正点原子 发表于 2017-11-10 01:55
具体形式呢?

具体的一个例子就是和printf一起用。

在那个程序里面大概是这样用的。
#ifdef _DEBUG_EN
#define DEBUG   (printf("FILE:%s,LINE:%d",__FILE__,__LINE__),printf)
#else
#define DEBUG
#endif

使用的时候就像下面这样
DEBUG("helloWorld"); //之类的
正点原子
2楼-- · 2019-07-25 16:36
具体形式呢?
mack13013
3楼-- · 2019-07-25 19:09
 精彩回答 2  元偷偷看……
DongInker
4楼-- · 2019-07-25 19:22
感觉像变量定义,多个变量可以使用逗号连续定义,也可以使用分号单独定义。
msq001
5楼-- · 2019-07-25 21:01
逗号表达式?
Jevin乐动
6楼-- · 2019-07-26 00:25
这是放在哪里实现的?

一周热门 更多>