continue和break可以看成是goto语句受限制的情况
举例:
break
#include<stdio.h>
main(void)
{
int a=1;
while (1){
if (a==1) break;
}
printf("Hello C");
}
显然,这个程序会输出Hello C,
#include<stdio.h>
main(void)
{
int a=1;
while (1){
if (a==1) goto break1;
}
break1 :
printf("Hello C");
}
显然,这个程序也会输出Hello C,
continue
#include<stdio.h>
main(void)
{
int a=1;
while (1){
if (a==1) continue;
printf("Hello C");
}
}
显然,这个程序不会输出Hello C,
#include<stdio.h>
main(void)
{
int a=1;
while (1){
if (a==1) goto continue1;
printf("Hello C");
continue1 :
}
}
显然,这个程序也不会输出Hello C,
break语句刚好把程序控制到循环体末尾之后,而continue语句刚好把程序控制转移到循环体末尾之前。