for循环块后的分号 #包括 int main(){ 对于(int i=0;i STD::/Cord>?这不解决问题,但是你真的需要额外的东西吗? STD::结束 \n′/Cord>结束一行。我不知道为什么GCCS最近没有对此发出警告;IME,旧的DI. CLAN-TIY会把它指出来。当问题是关于C++时,我们引用C++标准。@ BoundaryImpo这个问题被标记为两个,所以我最初用C。代码本身显然是C++,所以我删除了C标记并改变了引用。@ dBube感谢你们的支持。answer@dbush好的。不幸的是,C++只告诉我们这个构造是什么。 #include <iostream> int main(){ for(int i=0; i<5; ++i){ std::cout <<"Hello"<<std::endl; } ; }

for循环块后的分号 #包括 int main(){ 对于(int i=0;i STD::/Cord>?这不解决问题,但是你真的需要额外的东西吗? STD::结束 \n′/Cord>结束一行。我不知道为什么GCCS最近没有对此发出警告;IME,旧的DI. CLAN-TIY会把它指出来。当问题是关于C++时,我们引用C++标准。@ BoundaryImpo这个问题被标记为两个,所以我最初用C。代码本身显然是C++,所以我删除了C标记并改变了引用。@ dBube感谢你们的支持。answer@dbush好的。不幸的是,C++只告诉我们这个构造是什么。 #include <iostream> int main(){ for(int i=0; i<5; ++i){ std::cout <<"Hello"<<std::endl; } ; },c++,C++,No 分号甚至没有“附加”到循环中;它只是一个空语句,实际上它本身就是一个空表达式语句。分号是一个空表达式语句 从第6.2节 该表达式是一个被丢弃的值表达式(第5条) 表达式语句的效果在下一个语句之前完成 语句被执行。带有表达式的表达式语句 缺少的语句称为空语句。[注意:大多数语句都是空语句 表达式语句-通常是赋值或函数调用。null 语句对于在化合物的}之前携带标签很有用 语句,并为迭代语句(如 while语句(6.5.1)。-结束注释] 通过一些重新格式化,这将更加清楚: #include

No


分号甚至没有“附加”到循环中;它只是一个空语句,实际上它本身就是一个空表达式语句。

分号是一个空表达式语句

从第6.2节

该表达式是一个被丢弃的值表达式(第5条) 表达式语句的效果在下一个语句之前完成 语句被执行。带有表达式的表达式语句 缺少的语句称为空语句。[注意:大多数语句都是空语句 表达式语句-通常是赋值或函数调用。null 语句对于在化合物的}之前携带标签很有用 语句,并为迭代语句(如 while语句(6.5.1)。-结束注释]

通过一些重新格式化,这将更加清楚:

#include <iostream>

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

对于(inti=0;i它不会改变任何东西。它只是计算为一个空语句


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

你可以添加100个分号,它不会产生任何效果。可能会产生相同的编译代码。脱离主题,但在
开关中它可能很有用。检查第三个答案,如果你感兴趣的话。脱离主题:格式化你的代码。这是怎么回事“头”在第一个代码> STD::/Cord>?这不解决问题,但是你真的需要额外的东西吗?<代码> STD::结束<代码> \n′/Cord>结束一行。我不知道为什么GCCS最近没有对此发出警告;IME,旧的DI. CLAN-TIY会把它指出来。当问题是关于C++时,我们引用C++标准。@ BoundaryImpo这个问题被标记为两个,所以我最初用C。代码本身显然是C++,所以我删除了C标记并改变了引用。@ dBube感谢你们的支持。answer@dbush好的。不幸的是,C++只告诉我们这个构造是什么。
#include <iostream>

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