c语言中函数能递归吗?

如题所述

C语言可以递归调用,但是(函数)不能嵌套定义。

例如:

int fact(int n)
{
    if (n == 0)
        return 1;
    else
        return n * fact(n - 1);
}

图中的递归调用是允许的。

而:

void foo()
{
    void bar()
    {
        // Some code
    }
}

这样在函数内定义函数是不允许的。


不过结构体是可以嵌套定义的,例如:

struct test {
    int a;
    struct demo {
        char b;
    };
};

这样在结构体内定义结构体,是可以的。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网