今天简单介绍一下continue,break,return三个语句在c语言中的用法。

  1. 顾名思义 continue一词即“继续”的意思,也即不会终止整个循环,只会停止当前循环体内的一次循环,然后继续执行当前循环体内的下一个循环,直至当前循环体结束;
  2. break一词有破裂之意,即本循环宣告结束,所以要跳出当前循环体,如果本循环外层还有循环,则执行外层循环,一个break语句只能跳出一层循环,如果有多层循环相套,预跳出所有循环需多条break语句逐层跳出;
  3. 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函数的正常退出。