int x,y x=y=1 这里的"y=1"是左值还是右值?表达式不是右值么?为什么这样赋值不会出错呢?
答案:2 悬赏:80 手机版
解决时间 2021-03-19 04:49
- 提问者网友:两耳就是菩提
- 2021-03-18 23:50
int x,y x=y=1 这里的"y=1"是左值还是右值?表达式不是右值么?为什么这样赋值不会出错呢?
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-03-19 00:22
int x,y;
x=y=1 ;
等号的优化级低,所以计算机里运算过程是这样的
x= ( y = ( 1 ) ) ;
即,先完成y=1 ,返回y值
然后再将 y值 赋值给x
只要遇到等号,就先算完右边的表达式,然后再进行赋值
x=y=1 ;
等号的优化级低,所以计算机里运算过程是这样的
x= ( y = ( 1 ) ) ;
即,先完成y=1 ,返回y值
然后再将 y值 赋值给x
只要遇到等号,就先算完右边的表达式,然后再进行赋值
全部回答
- 1楼网友:duile
- 2021-03-19 01:15
你好!
x=y=1,这种写法是错误,不能连写,要分步
y=1;
x=y;
右边的值赋给左边的
如果对你有帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯