Yexiaomo
include<stdio.h>//此处 头文件 改为: #include<stdio.h>
#define pi 3.1415926
int area(double r);
main(){
int x,m;
printf("please input x:");
scanf("%f",&x); //错误一: 你上面定义时, x 为 int 类型, 但是这里却用的是 %f 格式
m=area(x); //看area的函数参数为 double 类型, x 却为 整形
printf("%f\n",m); //area 函数 返回值类型为 int , 你这里却用 %f 格式输出
return 0;
}
//下面函数体错误就省略了
int area(double r)
{
double c;
//s=pi*r*r;
c=2*pi*r;
return c;
}/**所以 整个程序到处弥漫着 强制转换 精度损失 的气息*解决办法, 把所有类型 改为 double类型, 输入输出 都用 %lf 格式控制*/#include<stdio.h>
#define PI 3.1415926 //#define 定义的 变量, 记得全部大写,, 如果不信, 可以看书,绝对有的
double area(double r);
int main(){
double x,m;
printf("please input x: ");
scanf("%lf",&x);
//printf("%lf\n", area(x));
printf("%.2lf\n", area(x));//为了整洁, 这里输出保留两位小数
return 0;
}
double area(double r)
{
return 2*PI*r;
}另外,贴代码, 要像上面这样贴......你那样太乱了-----------------------------------------------------分--割--线--------------------------------------------------------------啦啦~~Imcainiao