今天简单介绍一下continue,break,return三个语句在c语言中的用法。
- 顾名思义 continue一词即“继续”的意思,也即不会终止整个循环,只会停止当前循环体内的一次循环,然后继续执行当前循环体内的下一个循环,直至当前循环体结束;
- break一词有破裂之意,即本循环宣告结束,所以要跳出当前循环体,如果本循环外层还有循环,则执行外层循环,一个break语句只能跳出一层循环,如果有多层循环相套,预跳出所有循环需多条break语句逐层跳出;
- return “返回”的意思,即返回到某处,或返回某值。对于带参函数来讲,一般末尾会有 return value;语句,该value值一般用于传递给调用者,这种情况即返回某值;另外,在一个循环体内如果出现 return 语句,则表示停止该函数,返回到调用该函数处执行。
下面看一下简单的代码,就可以对这几个语句有个更清晰的了解了:
//continue 语句
#include<stdio.h>
int main()
{
int i;
for(i=0;i<10;i++)
{
if(i==5)
continue;
printf("%d",i);
}
return 0;
}该段代码的运行结果为:
01234678
显然,当i等于5时循环中止一次,继续进行循环体内下次循环,打印678。
//break语句
#include<stdio.h>
int main()
{
int i;
for(i=0;i<10;i++)
{
if(i==5)
break;
printf("%d",i);
}
retturn 0;
}该段代码运行结果为:
01234
容易得到,当循环内有break时即退出循环,一旦i等于5,就不再打印5以后的值。
//循环嵌套的情形
#include<stdio.h>
int main()
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<10;j++)
{
if(i==5)
break;
printf("%d",i);
}
printf("\n");
}
return 0;
}该段代码运行结果为:
01234 01234 01234
结果表明:在嵌套循环中,循环遇到break语句时,跳出本次循环,继续执行外层循环。
//return语句第一种情形,返回某值
#include<stdio.h>
int test()
{
int a=10;
return a;
}
int main()
{
printf("a=%d",test()); //调用test函数,打印其返回值
return 0;
}
该段代码运行结果为:
a=10
test()函数是一个返回值类型为int型的函数,此函数中用return语句返回该子函数的返回值,可供其他函数调用。调用该子函数的函数就会得到它的返回值。
//return语句第二种情形,返回到某处(出现在主函数中)
#include<stdio.h>
int test()
{
int i;
for(i=0;i<10;i++)
printf("%d",i);
}
int main()
{
printf("A");
return;//该位置记为1
test();
//return;//该位置记为2
printf("B");
//return;该位置记为3
return 0;
}该段代码运行结果如下:
当return语句在1处时 A 当return语句在2处时 A0123456789 当return语句在3处时 A0123456789B
该结果表明return出现在主程序中时,会终止整个程序,退出程序的执行。
//return第二种情形,返回到某处(不在主函数)
#include<stdio.h>
int test()
{
int i;
for(i=0;i<10;i++)
printf("%d",i);
}
int test_return()
{
test();
return;//标记为1
printf("A");//该句不执行
}
int main()
{
test_return();
printf("C");//1处的return语句返回到此处执行
return 0;
}该段代码运行结果为:
0123456789C
从结果容易看出,在非主函数中遇到return语句,函数会返回到调用该函数的下一个语句的位置进行执行,即不执行printf("A");语句,执行printf("C");语句。
注意:main()函数结尾的 return 0;语句表示main函数的正常退出。

京公网安备 11010502036488号