请问这个c程序那里错了?

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:30:18
我输入的数字和显示的数字不一样,不知道什么原因?请高手帮帮,谢谢!

#include<stdio.h>
int main()
{
double a,abstr(double a);
printf("enter a real number:");
scanf("%f",&a);
printf("abstr(%f)=%f\n",a,abstr(a));
return 0;
}

double abstr(double x)
{
if (x<0.0)
x=-x;
else
x=x;
return x;
}

输入的时候用%lf,而且double中也不需要写abstr(double a)吧?放到开头或开头声明

#include<stdio.h>
double abstr(double x)
{
if (x<0.0)
x=-x;
else
x=x;
return x;
}
int main()
{
double a;
printf("enter a real number:");
scanf("%lf",&a);
printf("abstr(%f)=%f\n",a,abstr(a));
return 0;
}

#include<stdio.h>
int main()
{
double a,abstr(double a);
printf("enter a real number:");
scanf("%f",&a);
printf("abstr(%f)=%f\n",abstr(a),a);
return 0;
}

double abstr(double x)
{
if (x<0.0)
x=-x;
else
x=x;
return x;
}