- break****和continue的区别:
break 跳出整个循环。 - continue跳出本次循环
会出现死循环的情况:如下图:
continue执行完,会跳转到for的第三个表达式。
while和do while尽量不要使用continue进行跳转(使用需谨慎)
(死循环)
- goto 语句:
(无条件转移指令)
- 不允许从循环外往循环里跳。
- 尽量不要向上跳。向下跳
- 不能跨越函数,从一个函数跳到另外一个函数。
适用于多层循环语句,可以直接从嵌套循环的最里层直接跳到最外层,省去了break一层一层往外跳的麻烦
从goto所在当前位置直接跳到指定位置(指定为加“:”)
for(int i = 0 ; i< n;i++)
{
for(int j = 0 ; j< n;j++)
{
for(int k = 0 ;k< n;k++)
{
goto end; //直接跳出三层循环
}
}
}
end;
printf();
- return(用于结束函数的执行,返回调用者,如果是主函数,返还到操作系统)(程序终止)
- 可以放置在函数内的任何位置。
- 当函数的返回值为void,可以省略;(仅作为函数结束的标志)
void fun()
{
int i = 1;
if (i < 10)
{
return; //条件满足 ,函数结束
}
printf("%d\n", i);
}
在其他类型必须return跟上一个整型变量。
- return 和exit的区别
return 只有在主函数(main)中执行才会结束当前程序,其他函数中只是结束当前函数。
exit 在任何函数中,只要执行,整个程序均会结束
exit 引发正常的程序终止并清理<stdlib.h>
_Exit 引发正常的程序终止但不清理
exit(EXIT_SUCCESS);表示正常终止
exit(EXIT_FAILURE);异常终止