【问题标题】:Concept behind the execution of this code?执行此代码背后的概念?
【发布时间】:2021-11-24 09:51:23
【问题描述】:

在我写 i=30 而不是 i

#include <iostream>
using namespace std;
int main()
{
  
  int i=30;//initialization
  
  while (i =30)
  {
      cout<< i<< ' '; 
      i=i+1;
  } 
 
    
} 

【问题讨论】:

标签: c++ loops while-loop


【解决方案1】:

while (i = 30) 将值 30 分配给变量 i,然后使用生成的 i 作为条件。由于i 不为零,因此它被认为是true,并且循环永远运行。

因此,cout 将始终打印 30i 的增量将在每次迭代时撤消。

【讨论】:

  • 还有我在初始化时分配的任何值都会运行 30 的无限循环,这可能是什么原因..?
  • @TejasAditya 就像 Jeffrey 说的那样,while (i = 30) 将 30 分配给 i,因此无论您将 i 设置为什么初始值都无关紧要,它在每次迭代时都会被覆盖。你需要使用==(相等比较),而不是=(赋值),例如:while (i == 30)
猜你喜欢
  • 2013-08-02
  • 2012-03-20
  • 2012-02-24
  • 1970-01-01
  • 2012-09-25
  • 2012-04-17
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多