C 语言中的跳转语句
c 语言有4 个跳转语句return 、goto、break 、continue 。
其中return 、goto 可以应用到程序的任何地方,break 、continue 和循环
语句一起使用。
1、return
return 用于从函数返回,使执行的函数返回到函数的调用点。
return 的一般形式是: return 表达式
其中表达式就是函数返回的值。
函数使用return 的次数不受限制,但是当函数遇到第一个return 的时候,
函数停止执行,返回到函数的调用点。
声明为void 型的函数不能包括代值的return 语句。
例如递归函数:
int digui(int num);
void main(void)
{
int num=0;
int fac=0;
printf("input a number \n");
scanf("%d",&num);
fac=digui(num);
printf("%d \'s factorial is %d\n",num,fac);
getch();
}
int digui(int num)
{
if(num==1) return 1;
else return num*digui(num-1);
}
程序执行结果是:
input a number
5
1
5 's factorial is 120
我们可以看到main 函数是void 类型,不需要return 语句。而digui 函数
是需要return 的。
在递归函数中我们有两个return 。if(num==1) return 1;这条语句是递归函
数的终结。
2 、goto
基本上已经不再使用goto 语句了。
基本形式:
goto 标签;
标签:
我们使用goto 构造一个循环,例如:
int main(void)
{
int i=0;
Electrics:
printf("%d ",i);
i++;
if(i<10)
goto Electrics;
getch();
}
3、break
在循环中break 终止循环,也就是跳出循环。执行循环下边的语句。
在switch 中终止一个case 。
例如:
int main(void)
{
int t=0;
for(;t<=10;t++)
{
2
if(t==9)break;
printf("%d ",t);
}
printf("\n");
printf("hello c!");
getch();
}
程序结果:
0 1 2 3 4 5 6 7 8
hello c!
当执行到t ==9 的时候,退出循环,执行printf("\n");语句。所以没有
输出10。
当是嵌套的多层循环,break 只是退出最内层的循环。
int main(void)
{
int t=0;
for(;t<=2;t++)
{
int j=0;
for (;j<5;j++)
{
if(j>2)break;
printf("j is %d \n",j);
}
printf("t is %d \n",t);
}
printf("\n");
printf("hello c!");
getch();
}
程序结果:
j is 0
j is 1
j is 2
t is 0
j is 0
j is 1
j is 2
3
t is 1
j is 0
j is 1
j is 2
t is 2
从程序结果可以看出,break 每次都是终止内层循环。和外层循环没有
关系。
hello c!
4 、continue
简单的说就是跳过剩余代码,执行下