对程序注释的理解

来源:互联网 发布:淘宝客的 店铺推广 编辑:程序博客网 时间:2024/06/10 02:38

C语言中可以有2种注释方式:/* */  //

1. 在编译时,编译器会将注释剔除,用空格代替原来的注释

下面的注释语句是否正确,并给出解释:

int/*...*/i;                                    //Achar* s = "abcdefg   //hijiklmn";               //B//Is it a \valid comment?                                  //Cin/**/t i;                                      //D

A:正确,将/*...*/剔除,换成空格=> int i;

B:正确,双引号引起来的都是字符串常量,//也不例外

C:正确的,接续符\将//Is it a 和valid comment连接起来,组成一个完整的注释

D:错误,剔除/**/之后,原语句变成了 in t i; 显然是错误的

 2.  /*...*/这种形式的注释不能嵌套,/*总是与离它最近的*/匹配

例如:/*这是/*非法*/的*/

3.  关于y = x/*p

这个语句的想表达的本意是 将x除以指针p指向的内存的值赋值为y

fatal error C1071: unexpected end of file found in comment

原因:编译器把/*当成了一段注释的开始,直到出现*/才会结束,这个表达式只是将x赋值给了y,/*是注释的开始,由于没有找到注释的结束*/,所以报错。


应该改为: y = x/ *p;   //在/和*之间加一个空格

或者修改为: y=x/(*p);





0 0