如题所述
区别:
1.运算符性质不同。
&是一个位运算符。
&&是一个逻辑运算符。
2.作用不同。
&是将两个二进制的数逐位相与,结果是相与之后的结果。
&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。
3.用途限制。
&除了是一个位运算符,也是取地址符。
&&就是一个单纯的逻辑运算符,没有任何其他含义。
参考资料
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-09-25
左右应该还有两个操作数,比如a&&!b,一般出现在的条件中,因为取反的优先级高于,所以意思是将b取反再与a做逻辑与,其结果为真的条件是a为非零并且b为零。追问
简直满意
本回答被提问者采纳第2个回答 2014-12-25
/**&&并且的意思,!是非的意思,没有你那种写法,具体使用方式如下*/
int a = 5;
bool b = false;
// 执行判断处理
if ((a == 5) && !b) {
// 此判断意思是,只有当a=5,并且b=false的时候才执行判断里面的情况
a += 10;
}
printf("a = %d\n", a);追问
int a = 5;
bool b = false;
// 执行判断处理
if ((a == 5) && !b) {
// 此判断意思是,只有当a=5,并且b=false的时候才执行判断里面的情况
a += 10;
}
printf("a = %d\n", a);追问
是a=5且b!=false吧
追答此处语法没有问题,这些是逻辑判断语句, "="是赋值符号,“==”才是逻辑判断符号
第3个回答 2014-12-25
&是取址运算符,作用是提取一个变量的地址,仔细看看你确定是“&&!”?
第4个回答 2014-12-25
& 是 取地址
! 是 非
&&是 并且
! 是 非
&&是 并且