【问题标题】:How do you define a multiline macro in C? [duplicate]如何在 C 中定义多行宏? [复制]
【发布时间】:2016-10-02 20:06:42
【问题描述】:

如何在 C 中定义多行宏?

【问题讨论】:

  • 在行尾使用“\”。

标签: c c-preprocessor directive


【解决方案1】:

\结束宏定义的每一行

#include <stdio.h>
#define MAX(a,b) {\
    printf("%d ", a); \
    printf("%d\n", b); \
}

int main()
{
    printf("Hello, World!\n");
    MAX(4, 5);
    return 0;
}

【讨论】:

  • 为什么会收到 -1?
【解决方案2】:

使用\ 转义回车:

#define MULTILINE_MACRO()\
    line1\
    line2

【讨论】:

    【解决方案3】:

    下面是两个多行的 C 宏

    #define for_loop_begin(size)\
    for (int i = 0; i < size; i++) \
    { \
    for (int j = 0; j < size; j++) {
    
    
    #define for_loop_end\
    }\
    }
    

    【讨论】:

    • 为什么会收到 -1?
    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 2014-01-09
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 2012-01-02
    相关资源
    最近更新 更多