关于C语言异或运算的

来源:百度知道 编辑:UC知道 时间:2024/06/18 15:00:17
能不能帮我详细解释下a+=b^=a^=b^=a是怎么算的
前提是a=0,b=1;

^异或符号的运算法则为 同为0异为1
从后往前算
b=b^a=1
a=a^1=1
b=b^1=0
a=a+0=1

异或是只有一个为真则真根据右结合性它们交换了值

根据算术的优先级,综合性,从左至右,b=b^a=1 ,a=a^1=1 ,b=b^1=0 ,a=a+0=1
结果就是这样