Skip to content

Latest commit

 

History

History
112 lines (86 loc) · 2.24 KB

16.md

File metadata and controls

112 lines (86 loc) · 2.24 KB

C - continue语句

原文: https://beginnersbook.com/2014/01/c-continue-statement/

continue语句用于循环。当在循环内遇到 continue语句时,控制流跳转到循环的开头以进行下一次迭代,跳过当前迭代循环体内语句的执行。

C - continue语句

语法:

continue;

continue语句的流程图

C Continue Statement

示例:for循环中的continue语句

#include <stdio.h>
int main()
{
   for (int j=0; j<=8; j++)
   {
      if (j==4)
      {
	    /* The continue statement is encountered when
	     * the value of j is equal to 4.
	     */
	    continue;
       }

       /* This print statement would not execute for the
	* loop iteration where j ==4  because in that case
	* this statement would be skipped.
	*/
       printf("%d ", j);
   }
   return 0;
}

输出:

0 1 2 3 5 6 7 8

输出中缺少值 4,为什么?当变量j的值为 4 时,程序遇到一个continue语句,它使控制流跳转到for循环的开头以进行下一次迭代,跳过当前迭代的语句(这就是printfj等于 4 时没有执行的原因)。

示例:在while循环中使用continue

在这个例子中,我们在while循环中使用continue。当使用whiledo-while循环时,需要在continue上方放置一个递增或递减语句,以便在下一次迭代时更改计数器值。例如,如果我们不在if的正文中放置语句,那么counter的值将无限期地保持为 7。

#include <stdio.h>
int main()
{
    int counter=10;
    while (counter >=0)
    {
	 if (counter==7)
	 {
	      counter--;
	      continue;
	 }
	 printf("%d  ", counter);
	 counter--;
    }
    return 0;
}

输出:

10 9 8 6 5 4 3 2 1 0

当计数器值为 7 时,将跳过print语句。

do-While循环的continue的另一个例子

#include <stdio.h>
int main()
{
   int j=0;
   do
   {
      if (j==7)
      {
         j++;
         continue;
      }
      printf("%d ", j);
      j++;
   }while(j<10);
   return 0;
}

输出:

0 1 2 3 4 5 6 8 9