如何正确标记格式化此代码?

时间:2008-09-03 22:36:52

标签: c formatting markdown

以下是我无法在markdown中正确格式化的一些代码,这是直接的C代码,粘贴到带有'4 spaces'格式的文本框中以表示代码:

#define PRINT(x, format, ...) \
if ( x ) { \
    if ( debug_fd != NULL ) { \
        fprintf(debug_fd, format, ##__VA_ARGS__); \
    } \
    else { \
        fprintf(stdout, format, ##__VA_ARGS__); \
    } \
}

似乎'\'导致新行被忽略。好吧,我习惯于在bash中使用它,但如果我放'\',第二个就不会出现。好像第二个被吸收了。我错过了什么吗?

3 个答案:

答案 0 :(得分:2)

在每行代码前添加至少四个空格或一个硬标签。像这样:

#define PRINT(x, format, ...) \
if ( x ) { \
    if ( debug_fd != NULL ) { \
        fprintf(debug_fd, format, ##VA_ARGS); \
} \
else { \
    fprintf(stdout, format, ##VA_ARGS); \
} \
}

答案 1 :(得分:2)

您还可以使用HTML标记< pre>< code>陆续。我发现将代码粘贴到窗口中更容易。

#define PRINT(x, format, ...)
if ( x ) 
{
    if ( debug_fd != NULL ) 
    { 
        fprintf(debug_fd, format, ##VA_ARGS); 
    } 
    else 
    { 
        fprintf(stdout, format, ##VA_ARGS); 
    } 
}

答案 2 :(得分:-1)

#define PRINT(x, format, ...)
if ( x ) 
{
    if ( debug_fd != NULL ) 
    { 
        fprintf(debug_fd, format, ##VA_ARGS); 
    } 
    else 
    { 
        fprintf(stdout, format, ##VA_ARGS); 
    } 
}