标题:不懂 info(s, arg...),四个问题
取消只看楼主
liaocao2014
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2014-4-27
结帖率:100%
已结贴  问题点数:10 回复次数:2 
不懂 info(s, arg...),四个问题
#include <stdio.h>
#define info(s, args...) printf(s, args)
#define debug(s, args...) fprintf(stderr, s, ##args)

int main(void)
{
    int a = 3, b = 5;
   
    info("a = %d, b = %d\n", a, b);

    debug("123456\n");

    return 0;
}

    运行输出的结果为
   
    a =3, b = 5
    123456

我这个是在linux下编译的
问题1:
    arg, args...分别是什么?
问题2:
    ##args是什么,在#define debug这个宏定义里,怎么后面有三个形参?
问题3:
    stderr与stdout的区别在哪里,什么情况下只能用stderr或者stdout?
问题4:
    arg这种知识点是在c语言的哪一部分,还能怎么用?(我百度都找不到)
搜索更多相关主题的帖子: linux return include 
2014-04-27 12:33
liaocao2014
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2014-4-27
得分:0 
回复 2 楼 zklhp
万分感谢您的回复,好人一生平安
2014-04-27 14:21
liaocao2014
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2014-4-27
得分:0 
回复 4 楼 TonyDeng
版主这一段的回答很好,有一种不仅让我知其然,而且知其所以然的感觉!
万分感谢!
版主是台湾的还是香港的啊,繁体字读起来还是有点费力的。
2014-04-27 14:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430717-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.241177 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved