0
下面的代码似乎有一些错误,我认为它会产生编译错误。特别是圆形函数的支撑和不正确的原型。编译器是怎么想的?为什么它认为它是可以接受的?这段代码是如何编译的? (C中的函数声明不正确)
#include <stdio.h>
#include <math.h>
double circle();
int main(void)
{
double r;
double a;
printf("Please enter a radius value: ");
scanf("%lf", &r);
a = circle(a, r);
printf("%lf\n", a);
}
double circle(a, r)
double a, r;
{
a = M_PI*(r*r);
return a;
}
函数声明是一个非常古老的风格,仍支持http://stackoverflow.com/questions/1585390/c-function-syntax-parameter-types-declared-after-parameter-list –