Как я могу заставить markdown правильно отформатировать этот код?
-
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);
}
}
Не связан с StackOverflow