美文网首页
do {break;}while(0);在C语言中的灵活用法

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

作者: 沙卡拉卡轻食吧 | 来源:发表于2018-11-07 20:41 被阅读0次

func()

{

    do

    {

        ...

        break;

    }while(0);

必须执行的语句;

}

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

#include <stdio.h>

#include <malloc.h>

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<n; 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语言中的灵活用法

      本文链接:https://www.haomeiwen.com/subject/opdbxqtx.html