Однострочные комментарии в Ansi-C - PullRequest
25 голосов
/ 27 ноября 2011

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

Ответы [ 4 ]

31 голосов
/ 27 ноября 2011

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

10 голосов
/ 27 ноября 2011

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

#define COMMENT(x)

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

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

4 голосов
/ 27 ноября 2011

Ну ...

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

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

/* ... */
#if 0
This is a comment
#endif
/* ... */
3 голосов
/ 27 ноября 2011

Извините, но, похоже, в ANSI-C используются только /* comment */.http://members.cox.net/midian/articles/ansic1.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...