C 用多个步骤定义函数宏

C 用多个步骤定义函数宏,c,C,我知道你可以这样定义一个函数: #PRINT printf("hello world\n"); 是否可以定义这样的函数 #PRINT printf("hello world\n"), printf("hello stack\n"); (…函数有两个步骤。)这可能吗?感谢以上评论。我找到了我问题的答案 要定义包含多个步骤的宏,需要执行以下操作 #define FOO {\ printf("hello world\n");\

我知道你可以这样定义一个函数:

#PRINT printf("hello world\n");
是否可以定义这样的函数

#PRINT printf("hello world\n"), printf("hello stack\n");

(…函数有两个步骤。)这可能吗?

感谢以上评论。我找到了我问题的答案

要定义包含多个步骤的宏,需要执行以下操作

    #define FOO {\
                     printf("hello world\n");\
                     printf("hello stack\n");\
                 }

然后调用FOO将执行这两条print语句。

感谢您的上述评论。我找到了我问题的答案

要定义包含多个步骤的宏,需要执行以下操作

    #define FOO {\
                     printf("hello world\n");\
                     printf("hello stack\n");\
                 }

调用FOO将执行这两个print语句。

这看起来不像C。您是否在考虑定义print printf(“hello world\n”)等?你试过使用第二个版本吗?怎么搞的?你学过逗号运算符吗?这是可行的,尽管这是否是一个好主意是一个单独的讨论。也可以考虑使用<代码>内联(更好,<代码>静态内联)函数而不是宏。请注意,您通常不应以分号结束
#define
。这看起来不像C。您是否在考虑
#define PRINT printf(“hello world\n”)
等?你试过使用第二个版本吗?怎么搞的?你学过逗号运算符吗?这是可行的,尽管这是否是一个好主意是一个单独的讨论。也可以考虑使用<代码>内联(更好,<代码>静态内联)函数而不是宏。请注意,通常不应以分号结束
#define