即使函数是以K&R风格定义的,我仍然希望参数进行类型转换。然而,测试程序的输出如下:
int 9.42
int 2.97005e-12
flt 9.42
flt 9.42
看起来 int 值没有转换为 double。为什么?
#include <stdio.h>
double mult_pi_usual(double v) {
return v * 3.14;
}
double mult_pi_KR(v)
double v;
{
return v * 3.14;
}
int main() {
printf("int %g\n", mult_pi_usual(3));
printf("int %g\n", mult_pi_KR(3));
printf("flt %g\n", mult_pi_usual(3.));
printf("flt %g\n", mult_pi_KR(3.));
}