jmfs.net
当前位置:首页>>关于x+=y,是什么意思?的资料>>

x+=y,是什么意思?

+=; -= 是复合的赋值运算符 x += y; 等价于 x = x + y; x -= y; 等价于x = x - y; C语言采用复合运算符 一是简化程序。二是为了提高编译效率,能产生质量较高的目标代码

解析这个公式: 首先 单目运算 ++ 的优先级别最高 所以先算 ++y,也就是 y先增加1,然后是+=运算, 就是 (y+1)+x 最后赋值给x. 可以展开成 x=(y+1)+x;

++x:先自加后赋值,表达式的值为x加1后的值,x自身加1.比如b=5,a=++b,那么a=6,b=6 y=++x y=x+1 x=x+1

x=x+y 将x+y的结果赋值给x

应该是写错了。正确的是x>y x>>y这个也没错,但是这是移位操作,得到的是一个数据,不是一个bool型 。 x>>y 表示x对的二进制右移y 位,相当于除以 2^y 。 如 4>>2 相当 于 4 /2^2 = 1 按这里的语境,应该是 x>y .

1,首先,要知道x^=y这个表达式相当于x=x^y. 2,"^"这个符号是按位异或运算符 3,^运算符的运算方式如下: (1)将两个数即这里的x,y转化为二进制数。 (2)参加运算的两个二进位同号则结果为0(假),异号为1(真) (3)运算规则:0^0=0; 0^1=1; 1^...

c=a>b?x:y这个是?:表达式的典型用法,代表如果a>b成立,选取x的值,如果不成立,选取y的值 相当于: if (a>b) c=x; else c=y; 比如 int a=5,b=6,x=1,y=0,c; 那么c=a>b?x:y的值为:c=0 如果int a=6,b=5,x=1,y=0,c; 那么c=a>b?x:y的值为:c=1

这是一个三目运算符,如果 --x 与 y++相等的话,把--x的值赋给a,否则,将++y的值赋给a; 在这里,--x是先对x进行自减1再执行语句,y是再执行完语句再执行y自加1,也就是说现在解析出来的表达式为 x - 1 == y ,后面同理!

这句话的意思是: 如果x>y为真,那么把x的值赋给Z,否则把Y的值赋给Z。 ?在这里起判断作用。 :和?一起是C语言里一起用的,是基本语法,书上有的。。 你好好找找书上,以后的C++和C#里也有这种写法

1: x+=y+=z y = y+z = 2; x = y+x = 2 + 3 = 5; printf: x < y (5=z,(15>=15),正确,结果为1; x = 6;结果为6 所以输出1,6 3:x = y > z >= 5 首先要知道运算符 < >= 是左结合性的 而= *= /= %= += -= = &= |= ^= 是右的 z = 15; y = 15; x = 6...

网站首页 | 网站地图
All rights reserved Powered by www.jmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com