Обратная косая черта в конце 4-й строки экранирует следующую новую строку, так что они становятся одной непрерывной линией.И поскольку мы можем видеть // начало комментария, 5-я строка закомментирована.
То есть ваш код эквивалентен:
#include <stdio.h>
int main() {
printf("Hello world\n"); // \printf("What's the meaning of this?");
return 0;
}
Вывод просто "Helloworld "с новой строкой.
Редактировать: Как сказали оба Эрика и pmg, это верно в C99, но не в C89.Кредит при наличии кредита.
Он определен на 2-й фазе перевода (ISO / IEC 9899: 1999 §5.1.1.2):
Каждый экземпляр символа обратной косой черты (\) сразу после него удаляется символ новой строки, объединяя физические исходные строки для формирования логических исходных строк.