区别:
1.运算符性质不同。
&是一个位运算符。
&&是一个逻辑运算符。
2.作用不同。
&是将两个二进制的数逐位相与,结果是相与之后的结果。
&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。
3.用途限制。
&除了是一个位运算符,也是取地址符。
&&就是一个单纯的逻辑运算符,没有任何其他含义。
&-百度百科
&&-百度百科
左右应该还有两个操作数,比如a&&!b,一般出现在if语句的条件中,因为取反的优先级高于逻辑与,所以意思是将b取反再与a做逻辑与,其结果为真的条件是a为非零并且b为零。
/**&&并且的意思,!是非的意思,没有你那种写法,具体使用方式如下*/
int a = 5;
bool b = false;
// 执行判断处理
if ((a == 5) && !b) {
// 此判断意思是,只有当a=5,并且b=false的时候才执行判断里面的情况
a += 10;
}
printf("a = %d\n", a);
&是取址运算符,作用是提取一个变量的地址,仔细看看你确定是“&&!”?
& 是 取地址
! 是 非
&&是 并且