Как я могу заставить markdown правильно отформатировать этот код?

StackOverflow https://stackoverflow.com/questions/42762

  •  09-06-2019
  •  | 
  •  

Вопрос

Вот некоторый код, который я не смог правильно отформатировать в markdown, это прямой код на C, вставленный в текстовое поле с форматом "4 пробела" для обозначения кода:

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

Кажется, что '\' приводит к игнорированию перевода строк.Хорошо, я привык к этому в bash, но если я поставлю "\", второй не появится.Как будто поглощается второй.Я что-то упускаю?

Это было полезно?

Решение

Вы также можете использовать 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); 
    } 
}

Другие советы

Добавьте не менее четырех пробелов или жесткую табуляцию перед каждой строкой кода.Вот так:

#define PRINT(x, format, ...) \
if ( x ) { \
    if ( debug_fd != NULL ) { \
        fprintf(debug_fd, format, ##VA_ARGS); \
} \
else { \
    fprintf(stdout, format, ##VA_ARGS); \
} \
}
#define PRINT(x, format, ...)
if ( x ) 
{
    if ( debug_fd != NULL ) 
    { 
        fprintf(debug_fd, format, ##VA_ARGS); 
    } 
    else 
    { 
        fprintf(stdout, format, ##VA_ARGS); 
    } 
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top