深藏不漏的注释/**/ 和 //

我们先来看几个带有注释的定义:

a. int/****/i;
b. char* s = "abcd   //hkdkd";
c. //Is a\
valid comment?
d. in/****/t i;

a,b,c,d哪些是正确的?哪些是错误的?

答案:d错误,a,b,c都正确。
a. /**/注释在编译的时候会被替换成空格;
b. " "之间的字符会被当做常量;
c. \是连接符,链接下面的字符,在//后作为一个整体,注意这个反斜杠的后面不能有空格,反斜杠的下面一行之前也不能有空格。我们在编码的时候不提倡写这样的注释,这里只是挖掘一下注释的陷阱;在常规的用法中,我们还是要保持中规中矩,养成良好的注释风格,这样才不至于出错。

d./**/注释在编译时替换成空格导致in t i;出错。

接着,我们再来看一个问题:

y = x/*p;

实际上,编译器把/* 当作是一段注释的开始,把/*后面的内容都当作注释内容,直到出 现*/为止。这个表达式其实只是表示把x 的值赋给y ,/*后面的内容都当作注释。但是,由 于没有找到*/,所以提示出错。

我们可以把上述表达式修改为y = x/ *p或者y = x/(*p);这样的话就是想要表达的意思了。

总之,我们能加()的地方一定不要偷懒,这对于代码的可读性有很大帮助,也能防止我们出现一些不必要的错误,我们对于上述问题不做提倡,了解即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值