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

来源:4-2 [Linux C语言] 头文件与函数定义分离

超人7号

2015-08-03 02:38

#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回答

  • 超人7号
    2015-08-12 05:00:28

    谢谢回复.....

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

  • 超人7号
    2015-08-03 20:30:46

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

    不理解啊.求思路..

    红尘萧叹

    不好意思误导你了,问了一下我同学 ,()和++的优先级不同++的优先级低于括号,所以Y就先自加再被赋值,但有因为键值对应,所以报错

    2015-08-11 13:10:14

    共 1 条回复 >

  • 红尘萧叹
    2015-08-03 08:44:04

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

Linux C语言编程基本原理与实践

本视频教程介绍C语言基本工作原理以及适用与C的实际开发方式

203964 学习 · 451 问题

查看课程

相似问题