为了账号安全,请及时绑定邮箱和手机立即绑定

float y=4.6; y++=y+1 求结果.. 我这样写对么? 为啥报错.?应该怎么改?求指教

#include<stdio.h>

int main()

{

    float y= 4.6;

    (y++) = (y+1);

    printf("y=%f\n",y);

    return 0;

}

报错:

root@super-X10DAi:/home/super/workspace/Equation# gcc equation.c 

equation.c: In function ‘main’:

equation.c:5:11: error: lvalue required as left operand of assignment

     (y++) = (y+1);

           ^

求高手指正.....

正在回答

3 回答

谢谢回复.....

能讲以下键值对应吗..依照上面的例子.谢谢了

0 回复 有任何疑惑可以回复我~

y 已经声明为实数型了呀?y+1 结果是5.6啊.还是实型啊.怎么会转为整形的?

不理解啊.求思路..

0 回复 有任何疑惑可以回复我~
#1

红尘萧叹

不好意思误导你了,问了一下我同学 ,()和++的优先级不同++的优先级低于括号,所以Y就先自加再被赋值,但有因为键值对应,所以报错
2015-08-11 回复 有任何疑惑可以回复我~

类型问题,y+1的结果被转换成int型了,不能赋值给y

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

float y=4.6; y++=y+1 求结果.. 我这样写对么? 为啥报错.?应该怎么改?求指教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信