Однострочные комментарии в Ansi-C

Я использую //, чтобы отметить комментарий одной строки от Java и Visual Studio и был удивлен, что этого не существует для Ansi-C. Использование /* my comment */ довольно раздражает. Есть ли другой способ отметить комментарий одной строки при использовании Ansi-C?

Ответ 1

ANSI-C, нет, но текущая стандартная редакция позволяет им это делать, начиная с C99.

Ответ 2

Вы также можете написать макрос:

#define COMMENT(x)

int main() {
   COMMENT(Hi there)
   return 0;
}

Кроме того, что ничего не видно в ANSI C, вы правильно заметили, что стиль /* */ недействителен в ANSI C 89

Ответ 3

Ну...

ANSI C - C99; и он позволяет отправлять комментарии, начиная с //, до конца строки.
В ранее опубликованном стандарте (C89/C90) комментарии // не были описаны (но многие компиляторы в любом случае приняли их как дополнение).

У вас есть еще один вариант для комментариев: конструкция #if 0/#endif (обычно используется для комментирования "неактивного" кода)

/* ... */
#if 0
This is a comment
#endif
/* ... */

Ответ 5

//и/**/поддерживаются в ANSI C.

Мы используем

// comment line 1
для одной строки и
/* 
comment line 1
comment line 2
comment line 3
 */
для многострочных комментариев.