C语言中i+=i&(-i);是什么意思

2024-12-04 04:42:38
推荐回答(5个)
回答(1):

在C语言中,i+=1的原型就是i=i+1,所以i+=1相当于就是i=i+1的简写。不管C语言结构、算法是否复杂基本上都能看到这样的简写,但是否要简写还是看个人的习惯。

扩展资料:

C语言中的其他简写形式:

1、a+=b  →a=a+b 

2、a-=b  →a=a-b  
3、a*=b  →a=a*b 

4、a/=b  →a=a/b
5、a%=b  →a=a MOD b 即a/b的余数 

6、a&=b  →a=a &b 按位与

7、a^=b  →a=a EOR b 按位异或

8、a||=b  →a=a ||  b 按位或

回答(2):

是取i的二进制末尾0个数,在树状数组中用到

回答(3):

i加上i与-i位与运算的值再给i

回答(4):

表达式3怎么两个i++呢?
答:i++步长为1,两个i++则步长为2嘛!
注意
i++,i++是c语言的逗号表达式。

回答(5):

1、问题不全
2、就是按位与咯