do {break;}while(0);在C语言中的灵活用法

func()

{

    do

    {

        ...

        break;

    }while(0);

必须执行的语句;

}


此结构在程序中可以用来代替 return语句,实现更加清晰的逻辑控制 


#include

#include

int func(int n)

{

    int i = 0;

    int ret = 0;

    int* p = (int*)malloc(sizeof(int) * n);


    do

    {

        if( NULL == p ) break;


        if( n < 5 ) break;

        if( n > 100) break;


        for(i=0; i

        {

            p[i] = i;

            printf("%d\n", p[i]);

        }


        ret = 1;

    }while( 0 );


    printf("free(p)\n");


    free(p);


    return ret;

}

int main()

{

    if( func(10) )

    {

        printf("OK\n");

    }

    else

    {

        printf("ERROR\n");

    }

    return 0;

}

你可能感兴趣的:(do {break;}while(0);在C语言中的灵活用法)