C++:在一个while循环中打开括号之前放置半冒号

Sac*_*tne -2 c++ syntax while-loop

while(condition);{ 
    statement;
}
Run Code Online (Sandbox Code Playgroud)

while循环的开括号之前的分号不应该在那里.我遇到的问题是程序在运行时遇到while循环的原因.据我所知,半冒号是一个终止标点符号,让编译器知道它已经到了语句的末尾.既然它没有读取while循环的开括号,那么它不应该移动到下一行并执行动作?如果您运行调试器并逐步移动,它将停止在while语句处移动,并且不会更进一步.我只是在寻找一些有关为何情况的见解.如果是这样的情况,while必须后跟一个条件然后开始括号,为什么在分号之间进行编译时会编译?不应该抛出某种错误吗?

正在使用的IDE是Dev c ++.我不确定这是否是IDE特定问题,因为我没有在其他IDE中测试过这个问题.

Mr.*_*C64 6

您可以使用更好的格式重写代码,这可能会使问题更清晰:

while(condition)
  ;

{ 
    statement;
}
Run Code Online (Sandbox Code Playgroud)

如果condition为真(即非0),则迭代无限循环.

如果condition为假(即0),则执行前进到以下语句.