5.3.2 使用continue终止循环
除了可以使用关键字break实现终止循环功能外,还可以使用关键字continue实现相似的功能。但是,continue的具体功能比较丰富,即终止用户所指定的本次循环,但不会跳出循环结构,从而可以继续执行下一个循环。在本小节中,将主要讲解关键字continue的使用方法。
关键字continue一般需要用于多个循环结构中,才能够发挥其作用,具体的使用代码如下:
main()//主函数 { ……//省略部分代码 for(int i=0;i<10;i++)//for循环结构 { ……//省略部分循环代码 continue;//终止并跳出循环结构 } for(int i=0;i<10;i++)//for循环结构 { ……//省略部分代码 } ……//省略部分代码 }
上面的代码分别使用了两个for循环结构体来表示关键字continue的功能。在代码中,可以省略的部分添加上自定义代码,例如输出一些提示语等。并可编译程序,在运行结果中,就可以看到关键字continue的作用并体会其中的使用原理。
例如,用户在实例程序中,同样是使用两个for循环结构来验证关键字continue的使用。其中,在第一个for循环结构中,对循环次数进行判断,若已经循环了4次,则将输出字符串“continue前循环了4次”。否则,将继续循环。这样,当程序循环4次以后,关键字continue就会使程序跳出第一个for循环,而执行第二个for循环中的代码,即输出提示语“continue后的循环”。具体代码如下:
#include <stdio.h>//包含头文件 main()//主函数 { char ch[]={"continue前循环了4次"};//定义并初始化字符数组 char ch1[]={"continue后的循环"}; for(int i=0;i<10;i++)//第一个for循环结构 { if(i==4)//判断循环次数是否为4 { printf("%s ",ch);//输出提示语 continue;//终止但不跳出循环结构 printf("%s ","执行continue后的提示");//输出提示语 } else//若循环次数不为4 { printf("%s ","继续输出字符串");//输出字符串 } } for(int i1=0;i1<10;i1++)//第二个for循环结构 { printf("%s ",ch1);//输出字符串 } return 0;//程序正常结束 }
在代码中,程序会将第一个for循环结构中的循环次数和功能代码全部执行。这是因为关键字continue只会跳出本次循环,而不会跳出整个循环。所以,当循环4次以后,程序将跳出并且继续执行循环代码。为了使用户能够深入理解continue的作用,所以在程序中将输出提示语“执行continue后的提示”来验证其具体的作用,如图5.18所示。
如图5.18所示,在程序的运行结果中,用户没有看到输出字符串“执行continue后的提示”,这也就说明了continue的功能只是终止本次循环,而不是整个循环。
图5.18 程序运行结果
注意 在实例程序中,可以利用continue的特殊功能实现一些重要的功能。例如,在一些重要操作中,终止某些特定的动作或者功能循环等。