关于c语言函数调用的问题

下面的函数调用,是怎么调用的,他不应该只输出一个值吗?希望来解答一下。

#include
void main( )
{
    void fun(int x);
    fun(8);
    printf("\n");
}
void fun(int x)
{
    if(x/2>0)
    {
        printf("%d\n",x);
        fun(x/2);
    }
    printf("%d",x);
}

fun()里面还有调用fun(),这个叫做递归。

以下内容部分参考ChatGPT模型:


这段代码中定义了一个函数void fun(int x),然后调用了一次fun(8)。函数fun内部并没有输出任何值,所以程序也没有输出任何值。如果想要在函数内部输出一个值,可以在函数中使用printf等输出函数。例如下面这个例子:

#include <stdio.h>

void fun(int x)
{
    printf("%d\n", x);
}

int main()
{
    fun(8);
    return 0;
}

运行结果为:

8

可以看到,函数内部输出了传入的参数x的值。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快