学习C语言遇到一个问题。。用win—tc编译出错,提示在函数中缺少逻辑0或者非0

floatgetroot(floatx1,floatx2){floatx;do{x=xposition(x1,x2);if(f(x)*f(x1)>0){x1=x;f(x1... float getroot(float x1,float x2)
{
float x;
do{
x=xposition(x1,x2);
if(f(x)*f(x1)>0)
{
x1=x;
f(x1)=f(x);//提示缺少逻辑0或者非0在函数中
}
else{
x2=x;
f(x2)=f(x);//提示缺少逻辑0或者非0在函数中

}
}
while(fabs(f(x))>1E-6);
return x;
}
其中xposition()和f()都是返回值float的函数。
把f(x1)和f(x2)先赋值给y1和y2没发现错误。。还是不知道以前的错误是什么原因
float getroot(float x1,float x2)
{
float x,y1,y2;
y1=f(x1);
y2=f(x2);
do{
x=xposition(x1,x2);
if(f(x)*y1>0)
{
x1=x;
y1=f(x);
}
else{
x2=x;
y2=f(x);
}
}
while(fabs(f(x))>1E-6);
return x;
}
展开
 我来答
ptb_youd
2011-01-11 · 超过10用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:26.2万
展开全部
f(x1)=f(x);
这种写法是不合法的。
赋值符号的左边一定是 变量(包括指针),但不能是函数(或表达式)
---------------------------------
你原先的错误就是,在赋值号的左边写的是一个表达式~

赋值号“=”不同于等号,

其使用必须是

变量 = 表达式;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式