若变量正确定义,a==2的值为什么不是2 。 ==在c语言里不就是等于的意思?2&3 1^3的值都是2又是为什么

2025-03-07 01:31:40
推荐回答(2个)
回答1:

a==2 这个式子是一个整体,是一个bool型的量,值只能为 true ( 1 ) 或 false ( 0 )。
& 、 | 、 ^ 等符号属于位运算符号。
2&3 = 0011 & 0010 = 0010 = 2
1^3 = 0001 ^ 0011 = 0010 = 2

回答2:

a是一个变量,系统分配时是一个不确定的值,如果
int a, a==2, 那就不对了。
2&3,& 按位与运算,10&11=10 还是等于2,
^异或运算,01^11=10 还是等于2