x+=++y,c语言

在c语言中,x+=++y,这个式子是如何计算的?

x+=++y;等价于x=x+(++y);
若y的初值为0,x的初值为10.则
1:++y ==> y先自加1而变为1
2:x=x+y; ==> 用更新后的y值参与运算,x=11;
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-11
y=y+1
x=x+y
第2个回答  2010-12-11
等价于
y++;
x=x + y;
第3个回答  2010-12-11
先++y
x=x+(++y)

c语言中x+=++y是什么意思
x += ++y 即 x = x + (++y),赋值号右边++y的意思是y自增1,再与x的值相加赋给左边的x 假如x=1, y=2,那么x = 1+(++2) = 1+3=4

C语言中,解释运算x+=++y的过程。
x += ++y就是 x = x + (++y)执行过程:先让y 增1 再x = x+y 比如,若x=1,y=4,那么先y增1变为5,然后x=1+5=6

x+=++y在c语言中是什么意思
X加上y自加一之后的值

x+=++y,c语言
x+=++y;等价于x=x+(++y);若y的初值为0,x的初值为10.则 1:++y ==> y先自加1而变为1 2:x=x+y; ==> 用更新后的y值参与运算,x=11;

c语言中x+=++y什么意思
首先是++y,是指在使用y之前,对y进行+1操作。y就变为y+1了。然后执行x+=操作,是指x+(y+1),然后结果赋值给x。

int x=0,y=0; while(x<15) y++,x+=++y; printf("%d,%d",y,x);
因为y++,x+=++y;是逗号表达式,所以最终值是x+=++y;还有x+=++y等价于x=x+(++y)0<15 y=1,x=0+2;\/\/x=2,y=2 2<15 y=3,x=2+4;\/\/x=6,y=4 6<15 y=5,x=6+6;\/\/x=12,y=6 12<15 y=7,x=12+8;\/\/x=20,y=8 20<15 不成立 输出:y=8,x=20 ...

C语言中 a=x+++y 怎么算
这么说吧,在系统眼里,a=x+++y 就等同于 a=(x++)+y 也就是说,用X的值加上Y的值,然后赋给A。之后再让X的值自加1。a=x+++y 和 a=x+y;x++;是等价的。

c语言中x+=y--是什么意思
C语言运算符 按级别1最优先,依次顺序 -- 后缀自减 2极 += 赋值运算符 16 级 因此 x+=y-- 相当于 X+=(Y--)相当于 X=X+(Y--)

C语言编程题中的++Y与y++的区别?
++y:先给y加上1,再进行其它运算。y++:先让y进行其它运算,再给y加上1 比如下面的代码:include <stdio.h>int main(){int av = 0, bv = 0;int r1 = ++av;int r2 = bv++;printf("%d\\t%d\\n", r1, r2);return 0;} r1=1,是因为++av,先要增加1,再给r1赋值,所以结果是1。...

在C语言中,为什么x++=y++是错误的,而++x=++y是正确的?
x++有两个地址,一个是x本身的地址,还有个x+1后的地址,所以它不能作为左值,y++不能赋给一个地址不确定的变量。所以会出错,而++x,只有一个地址,就是x+1后的地址,所以能将y+1后的值赋给它,所以是正确的,楼主应该是没明白前++和后++的意义,多看看教材理解理解。

相似回答
大家正在搜