c语言的x=x 10=x y为什么不对

Python013

c语言的x=x 10=x y为什么不对,第1张

赋值运算符的左边必须是左值,也就是必须是变量,对于10 = x, 因为10是常量,所以肯定不对

其次,x = x这样的写法不会报错,但是这样写没有任何意义

最后一个写一个y是啥意思?

x的2进制表示向左移一位。如果x=1那么x的2进制是0000...0000,0001. x<<1就是0000...0000,0010就是2。 你也可以理解为x乘以2的n次方。n是左移的位数,这里就是1。