for循环块后面的分号

时间:2017-06-06 15:17:40

标签: c++

#include <iostream>

int main() {
    for( int i = 0; i < 5; ++i) {
        std::cout << "Hello" << std::endl;
    };
}

是否有for循环后的分号会影响程序?

3 个答案:

答案 0 :(得分:1)

分号是一个空的表达式语句。

来自C++ standard

的第6.2节
  

表达式是丢弃值表达式(第5条)。各方面   表达式语句中的效果在下一个之前完成   声明被执行。 带有表达式的表达式语句   missing被称为null语句。 [注意:大多数语句都是   表达式语句 - 通常是赋值或函数调用。空   声明对于在化合物之前携带标签很有用   声明并为迭代语句提供空体,例如   一段时间陈述(6.5.1)。 - 后注]

对于一些重新格式化,这将更加清晰:

#include <iostream>

int main(){
    for(int i=0; i<5; ++i){
        std::cout <<"Hello"<<std::endl;
    }
    ;
}

此null语句的存在对程序没有影响。

答案 1 :(得分:0)

没有

分号甚至不附加&#34;循环;它只是一个空洞的陈述,有效地独自存在。

答案 2 :(得分:0)

它没有改变任何东西。它只是评估一个空的陈述。

它完全无害。只是有点无意义的混乱。