C语言编程 - 函数问题

San*_*pal 2 c

int fn()
{
    return 10;
}

int main()
{
    printf("%d\n\n",fn);
    system("pause");
}
Run Code Online (Sandbox Code Playgroud)

该程序给出一个随机数,但是当进行函数调用时,它返回值10.

我可以得出结论,当我们在printf语句中使用函数名时,它会给出一个垃圾值或者还有其他一些概念吗?

谢谢

ins*_*ity 6

它应该是:

  printf("%d\n\n",fn());
Run Code Online (Sandbox Code Playgroud)

fn对应于函数的ponter地址.这就是你得到垃圾号码的原因.要调用函数,您必须使用如下括号:

foo();
foo(parameter1, ..., parameterN);
Run Code Online (Sandbox Code Playgroud)