根据基本知识,C++中的每个语句都必须以分号结尾。但是,与其他语言不同,几乎所有C++中的语句都可以视为表达式。但是,在少数情况下,我们可以编写不带分号的正在运行的程序。
如果将语句放在带有一对空白括号的if / switch / while / macro语句中,则不必以分号结尾。另外,调用void返回的函数在这里不起作用,因为void函数不是表达式。我们虽然可以使用逗号运算符,在运算符的右侧任意值。
例子:
- 使用if语句:
// CPP program to print // Hello World without semicolon // using if statement #include
int main() { if (std::cout << "Hello World ") { } } 输出:
Hello World
- 使用switch语句:
// CPP program to print // Hello World without semicolon // using switch statement #include
int main() { switch (printf("Hello World ")) { } } 输出:
Hello World
- 使用宏
// CPP program to print // Hello World without semicolon // using macros #include
#define GEEK printf("Hello World") int main() { if (GEEK) { } } 输出:
Hello World
- 使用循环(while和for):这里要注意的重要一点是在while循环中使用!(not 运算符)以避免无限循环。
// CPP program to print // Hello World without semicolon // using if statement #include
int main() { while (!(std::cout << "Hello World")) { } // for loop can also be used // where testing condition has cout statement // for (;!(std::cout << "Hello World");) // { } } Hello World
相关文章:如何在C / C++中不使用分号的情况下打印分号(;)?
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。