前言
本章是continue和go to语句的实列的一些讲解,并附上两种实例
第一种continue是与while语句连用,如果被赋值的i在循环体当中等于4,则continue运行成立,跳过4,运行余下未运行的程序。
第二种则是go to语句实现循环和死循环。
一、continue的用法
continue语句用来立刻中止本次循环,并继续执行余下未运行的循环体。可以理解只跳出本次循环,break可以用于switch语句中,而continue不可以。
#include
int main()
{
int i = 1; //初始数字
while (i<=10) //规定范围
{
if (i == 4)
{
++i; //i=i+1,简便算法,如果上面不成立,则i+1,继续运行到i=10,运行结束
continue; //当i等于4时,中止本次,其余继续运行。
}
printf("%d ", i);
++i;
}
printf("\n");
return 0;
}
【运行过程】i=1为初始数字,while函数规定范围,coninue函数中止的是if运行的i为4,则中止本次运行。
【运行结果】
1 2 3 5 6 7 8 9 10
二、go to的使用
go to语句可以理解为强制跳转,go to语句可以跳转到任意语句之前,直接跳到printf(“hello,world”\n)之上,由于没有中止语句,形成死循环。
#include
int main()
{
a: //使用go to语句需要一个路标“a”(a可自定),作为一个地址传送。
printf("hello,world\n");
printf("bye,world\n");
goto a; //
return 0;
}
路标的命名规则与变量名的命名规则相同,都必须由字母、数字和下画线组成,且第一个字符必须为字母或下画线;而且标号名必须是唯一的,不得与其他标识符相同。同时,goto语句中的标号名必须在程序中存在,否则,编译器会报错。使用goto语句可以改变语句的执行顺序。
go to与for连用
#include
int main()
{
int i;
for(i=1;i<=10;i++)
a : {
//if(i==5) continue;//中止本次,不打印5
//if(i==5) break;//打印了1-4,5-10不打印,
if(i==5) goto a; //绝对转移到一个位置,要设置编号
printf("%3d",i);//3d代表宽度。 break中止后面所有
}
return 0;
}
总结go to语句可以与if-else语句,for,while,do-while连用,但是go to语句容易出错,可能由于本身语句的强制跳转性,所以该语句可读性差
break,continue,go to都是跳转语句,其中,break语句是跳出当前循环体语句,执行后面的代码。continue是跳出本次循环体,并进行下一次的循环,go to语句存在可读性差,流程无规律,但是在程序面对多种情况的处理完全相同时,便可使用go to语句来增加语句的可读性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)