if语句中没有花括号的注释

时间:2017-10-05 16:19:04

标签: c if-statement comments

假设我们有这个C代码段:

if (condition)
    x = a;
else
    x = b;

是否允许插入这样的注释,而不更改代码的语义:

if (condition)
    /* blah blah blah */
    x = a;
else
    x = b;

(如果有花括号,答案显然是肯定的,但是如果没有花括号的if语句会怎么样?)

4 个答案:

答案 0 :(得分:2)

是。注释只是被忽略,可以放在任何允许空格的地方。

但是我强烈建议你不要在没有花括号的情况下写if个语句。见Why is it considered a bad practice to omit curly braces?

答案 1 :(得分:2)

评论对代码没有影响,除了它们有助于以后理解和编辑代码这一事实。

您显示的代码有效。

如果if语句后跟大括号内的代码,则在满足if的条件时,将执行大括号内的所有代码。 如果没有花括号来对代码进行分组,则会立即执行if语句之后的语句。如果在此声明之前有注释,它将不会影响代码,因为编译代码时将删除注释。

答案 2 :(得分:2)

是的,编译中不考虑注释,因此不会更改代码的语义。

答案 3 :(得分:2)

是的,您可以根据需要添加评论。编译器只是忽略多行以及单行注释评论