我是 C++ 和编程 Word 的新手,我正在学习 For 循环。现在我研究了如果循环体中有条件和增量,则 In 循环会起作用,例如:
for(int i=10;i<15;i++)
但是我在一些网站上看到过一段代码,它是这样的:
for(;NULL;)
{
cout<<"hello";
}
现在,有人可以解释一下它的输出是什么以及它是如何工作的吗?
最佳答案
在 C++ 中,控制 for
循环的所有 3 个表达式都是可选的。这使得语言变得强大。在您的情况下,您缺少初始化(通常)循环计数器的表达式,以及通常用于递增循环计数器的表达式。你所拥有的是停止条件。
如果 Null
具有到 bool
类型的上下文转换,则程序将编译。不然不会。让我们假设确实如此:
如果转换后的 bool
值为 false
,则循环体永远不会运行。
如果转换后的 bool
值为 true
,则循环体将运行。 (请注意,转换可能可能会更改转换后的对象,因此最终可能会产生false
,因此循环最终会终止!)
关于c++ - 查询for循环初始化、条件和增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55117956/