作业帮 > 综合 > 作业

C语言中位运算符与逻辑运算符的细小差别:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/04 10:06:38
C语言中位运算符与逻辑运算符的细小差别:
1、( (( y=1 ) == 0 ) && (( x=6 ) == 6 ) )
2、( (( y=1 ) == 0 ) & (( x=6 ) == 6 ) )
为什么1式中x的值仍为1,而2式中的x的值为6,这是怎么算的?
1.逻辑与被优化掉了,与左边为假就不管右边了 ,于是x=6没有执行
2.算术与没有被优化,虽然0算术与任何数还是0,但是看来没有优化