您的位置:首页 > 编程语言 > C语言/C++

浅谈C语言中几种注释方法

2011-08-11 23:31 239 查看
浅谈C语言中几种注释方法 作者:张明云 Email:zmywly8866@163.com 在用C语言编程时,我常用的注释方式有如下几种: (1)单行注释 //… (2)多行注释 /*…*/ (3)条件编译注释 #if 0…#endif 对于(1),注释只能显示在一行内,通常出现在一条语句的右边或者上方,对于注释符”//”,一个注释里只要有多余2个’/’都可以,例如: #include <stdio.h>

#define swap(x,y) \

x=x+y;\

y=x-y;\

x=x-y;

int main(int argv,char *argc[])

{

int x=5,y=6;

swap(x,y);////exchange此处四个”/”仍能成功编译通过,因为”//”后面和它在同一行的//的内容均为注释内容

printf("x=%d,y=%d\n",x,y);

}
对于(2),”/*…*/”不能嵌套使用,正如”if…else”中的”else”总是和隔它最近的”if”配对一样,”/*”总是和离它最近的”*/”相配对。例如: #include <stdio.h>

#define swap(x,y) \

x=x+y;\

y=x-y;\

x=x-y;

int main(int argv,char *argc[])

{

int x=5,y=6;

/*exchange x and y*///right

/*exchange /*x and y*/*///wrong

swap(x,y);

printf("x=%d,y=%d\n",x,y);

}
针对(1)和(2)各自的缺陷,资深的程序员提出如(3)所示的注释,该注释的好处是能注释大块的程序,并且没有嵌套的限制,也就是说在”#if 0…#endif”的”…”处可以有”//”或”/*…*/”这样的注释,例如: #include <stdio.h>

#define swap(x,y) \

x=x+y;\

y=x-y;\

x=x-y;

int main(int argv,char *argc[])

{

int x=5,y=6;

#if 0

/*exchange the value of x and y*/

x=3;

y=5;

#endif

swap(x,y);

printf("x=%d,y=%d\n",x,y);

}
对于使用”#if 0…#endif”的开发者,在他想恢复该代码段时,只需要将”#if 0”改成”#if 1”即可,这种注释非常适合于代码的调试和测试。 另有如下几点值得C语言程序员注意: (1)注释并不是可以出现在程序的任何地方,例如: #include <stdio.h>

#define swap(x,y) \

x=x+y;\

y=x-y;\

x=x-y;

int main(int argv,char *argc[])

{

int x=5,z=3,f;

int *y;

y=&z;

f=x/*y;/*这里”/”相比于”y”,”*”和”/”结合得更为紧密,所以此处将”x”赋给了”f”,而非”x/*y”*/

swap(x,y);

printf("x=%d,y=%d\n",x,y);

}
(2)合理的注释通常出现在一条语句的上方或者右边,不应出现在一条语句或者一个程序段的后面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c 注释方法