多久不用代码相比你也跟我一样忘记啦,简单回顾回顾下:
先快速说结论:
return是作用在函数的,用来结束函数得;
break是作用在循环里的,结束循环用;
continue是跳过当前循环的某一个条件语句的动作;
continue
C 语言中的 continue 语句有点像 break 语句,所不同的是,它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环迭代。
对于 for 循环,continue 语句执行后,自增语句仍然会执行。
对于 while 和 do…while 循环,continue 语句重新执行条件判断语句。
举个栗子:
#include <stdio.h>
int main ()
{
int i=0,j=0;
for (i = 0; i < 4; i++ )
{
printf("i 的值: %d\n",i);
for (j = 0; j < 3; j++ )
{
if( j==1){
continue;
}
printf("j 的值: %d\n",j);
}
}
return 0;
}
编译结果如下,我们可以得出结论,在双层FOR循环中,在内循环使用Continue,只会在内循环中跳过此处循环,小循环继续执行,不会跳过大循环。
break
在循环中,关键词Break,作用是跳出循环,一般有以下两种用法:
2.1当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
2.2它可用于终止 switch 语句中的一个 case。
如果使用的是嵌套循环,break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
注意
1.break语句对if-else的条件语句不起作用。
2.在多层循环中,一个break语句只向外跳一层。
3.由于它是用来退出循环或者switch语句的, 所以只有当它出现在这些语句的时候, 这种形式的break语句才是合法的。
举个栗子
#include <stdio.h>
int main ()
{
int i=0,j=0;
for (i = 0; i < 4; i++ )
{
printf("i 的值: %d\n",i);
for (j = 0; j < 3; j++ )
{
if( j==1){
break;
}
printf("j 的值: %d\n",j);
}
printf("\n");
}
return 0;
}
编译结果如下,我们可以看到在双层FOR循环中,在内循环使用Break,只会在内循环中结束本次循环,小循环结束此次执行,不会跳过大循环。
return
在循环中,Return语句,作用是结束本次循环,将函数调用栈弹栈,恢复现场。
说的简单点儿就是结束当前的函数,返回函数执行结果,回到本函数被调用处继续执行。