为什么没有返回类型的此代码有效?

时间:2019-09-05 07:35:38

标签: c function pointers

我已经开始使用指针,并且看到了这段代码(我很久以前研究过C)。我注意到语法中缺少返回类型。但是,代码运行得很好(仅带有一个隐式声明警告)。我的问题是,为什么它可以运行,什么时候可以在其他程序上运行?

int main()
{
     int radius;
     float area,perimeter;
     printf ("\nRadius of the circle: ");
     scanf ("%d",&radius);
     areaperi (radius,&area,&perimeter);
     printf ("\nArea = %f",area);
     printf ("\nPerimeter = %f",perimeter);
}


areaperi (int r, float *a,float *p) /*no return type is mentioned for the function*/
{
    *a=3.14*r*r;
    *p=2*3.14*r;
}

我希望它根本不会运行,但令我惊讶的是,它不仅可以编译(仅带有隐式声明警告),而且运行完美。

0 个答案:

没有答案