我习惯于使用Java和Visual Studio中的//
来标注单行注释,但很惊讶在 Ansi-C 中没有这个功能。使用/* my comment */
相当麻烦。在使用 Ansi-C 时有没有其他标记单行注释的方法?
我习惯于使用Java和Visual Studio中的//
来标注单行注释,但很惊讶在 Ansi-C 中没有这个功能。使用/* my comment */
相当麻烦。在使用 Ansi-C 时有没有其他标记单行注释的方法?
ANSI-C不支持变长参数,但当前标准修订版允许其存在,并且自C99标准版本开始就一直如此。
//
注释。我立刻明白了我正在处理什么:“这是一个C文件”。这从未给我带来过任何问题。但这只是我的个人偏好。此外,在宏中无法使用//
注释 - 我并不想在宏与内联之间进行争论。 - Brett Hale你也可以编写一个宏:
#define COMMENT(x)
int main() {
COMMENT(Hi there)
return 0;
}
除此之外,ANSI C 中没有明显的错误 - 你是正确的,注意到 /* */
风格在 ANSI C 89 中是无效的。
COMMENT((Hi, there))
),否则你的注释中不能包含逗号。 - caf/* */
更有优势。 - Flexo//
语法来注释代码,因为你只需要在行首打字。写上COMMENT(
和一个结束括号并不能改善这一点。 - mort好的...
ANSI C是C99;并且允许以//
开头,一直延伸到该行结尾的注释。
在先前发布的标准(C89/C90)中没有描述//
注释(但许多编译器仍然接受它们作为额外注释)。
您还有另一种选项可以进行注释:使用#if 0
/#endif
结构(通常用于注释“非活动”代码)
/* ... */ #if 0 这是注释 #endif /* ... */
//
,但在严格的ISO C中不允许吗? - mortgcc
编译器,使用gcc -ansi -pedantic ...
与gcc -std=c89 -pedantic ...
(目前)是相同的。要在符合C99标准的模式下使用gcc
(尽可能),请尝试gcc -std=c99 -pedantic ...
。 - pmg/* comment */
进行注释。
http://members.cox.net/midian/articles/ansic1.htm