2022-01-06 00:53:33
在C语言中,& 有两种主要含义:位与运算符和取地址运算符。

& 是位运算符或者取地址符,而 && 是逻辑与运算符。&& 具有短路求值的特性,即当左边的表达式为假时,右边的表达式不会再进行计算;而 & 作为位运算符时,无论左边结果如何,右边的表达式都会执行。例如在 (a > 0) && (b++ > 0) 中,若 a <= 0,b++ 不会执行;但在 (a > 0) & (b++ > 0) 里,b++ 会执行。逻辑运算符主要用于条件判断,位运算符用于二进制位操作,使用时要注意区分不同的场景。