while(cond) // fine
for(;cond;) //fine
Run Code Online (Sandbox Code Playgroud)
但当我删除条件部分
while() //syntax compilation error
for(;;) //Infinite loop
Run Code Online (Sandbox Code Playgroud)
这些循环如何在内部实现?或者,编译器(解析器)如何知道空状态while是错误还是for无限?
我没有找到任何关于此的内容,我认为在C中像我这样的人(初学者)可能会有同样的困惑
我的朋友向我展示了这一点,我不知道它是如何工作的以及它的名称.有人可以向我解释它是如何循环的吗?例如:
for(;;){
cout << "loop" << endl;
}
Run Code Online (Sandbox Code Playgroud)
它将永远保持循环字符串.这种循环可以用于任何事情.这是如何运作的?
为什么被for(;;)视为无限循环,同时while()给出错误,因为它需要表达式?为什么for循环也不期望表达式呢?