二分法求解非线性方程的困惑
在网上参考了其它人的二分法求解一道非线性方程题:求方程 lnx=x-2 在2.0到3.0范围的解,我写的代码如下:
#include <stdio.h>
#include <math.h>
void main()
{
double lpoint=2.0,rpoint=3.0,mpoint;
mpoint=(lpoint+rpoint)/2;
while(fabs(expression1(mpoint))>0.00001)
{
mpoint=(lpoint+rpoint)/2;
if(expression1(lpoint)*expression1(mpoint)<0)
rpoint=mpoint;
else
lpoint=mpoint;
}
printf("二分法所求解非线性方程 lnx=x-2 的结果: x=%d\n",mpoint);
}
double expression1(double x)
{
double result;
result=ln(x);
return result;
}
double expression2(double x)
{
double result;
result=x-2.0;
return result;
}
运行时提示错误,“与‘expression1’声名的类型不匹配”
我不太明白哪出了问题,哪位帮小弟看看是怎么回事?