markfzc 发表于 2018-5-3 17:33:39

第41课,内联函数和小技巧,第八个课堂程序不理解

本帖最后由 markfzc 于 2018-5-3 17:56 编辑

#include <stdio.h>


// 我对这里的理解是,把参数format转换成字符串。后面可变参数,拼起来。
#define PRINT(format,...) printf(# format, ##__VA_ARGS__)

int main()
{
    PRINT(num = %d\n, 520);
   
    PRINT(hello fishc\n, 2, 50);//这里有问题。 后面2和50没有连接起来。只打印了hello fishc


    return 0;
}

人造人 发表于 2018-5-3 17:49:20

markfzc 发表于 2018-5-3 17:55:33

人造人 发表于 2018-5-3 17:49


后面2和52没有连接起来。

人造人 发表于 2018-5-3 18:05:17

markfzc 发表于 2018-5-3 17:55
后面2和52没有连接起来。

?

markfzc 发表于 2018-5-3 18:10:06

人造人 发表于 2018-5-3 18:05
?

就是那个宏,我理解为第一个参数以字符串输出,就是参数hello fishc。第二个参数2,第三个参数50.前面是有##__VA_ARGS__,不是拼起来吗,就变成250。

人造人 发表于 2018-5-3 18:38:15

markfzc 发表于 2018-5-3 18:10
就是那个宏,我理解为第一个参数以字符串输出,就是参数hello fishc。第二个参数2,第三个参数50.前面是 ...

http://blog.chinaunix.net/uid-17188120-id-4026378.html

人造人 发表于 2018-5-3 18:43:27

页: [1]
查看完整版本: 第41课,内联函数和小技巧,第八个课堂程序不理解