while 和 for 循环没有。已知迭代次数

Ele*_*ted 1 c++ for-loop while-loop

我读到当迭代次数未知时使用 while 循环,当迭代次数已知时使用 for 循环......例如当我必须打印 5 次语句时,我必须在 while 和 for 循环中初始化变量并且我还需要在 (i++) 中都给出迭代条件,我还必须提到迭代条件,以便它只循环 5 次......那么有什么区别?有人可以举例说明吗

for(int i=0;i<5;i++){
    cout<<"Hello";
    }
int i=0;
while(i<5){
    cout<<"hello";
    i++;
    }
Run Code Online (Sandbox Code Playgroud)

Dan*_*iel 5

while和之间没有真正的区别for

{
  int i = 0;
  while(i < 5){
    //stuff
    i++;
  }
}
Run Code Online (Sandbox Code Playgroud)

是相同的

for(int i = 0; i < 5; i++){
   //stuff
}
Run Code Online (Sandbox Code Playgroud)

但是正如您所看到的,for当您有已知条件时,更容易使用。

例如,假设您正在运行一个算法,该算法在列表为空且没有计数器变量(例如i. 使用 a 更容易理解它while

while(!list.empty()){ /* stuff */ }
Run Code Online (Sandbox Code Playgroud)

但是您可以以相同的方式使用它for

for( ; !list.empty(); ){ /* stuff */ }
Run Code Online (Sandbox Code Playgroud)

您可以根据每种情况或您的个人喜好,通过简单性和可读性来选择其中之一。