什么是&;什么意思?C
我有以下代码:什么是&;什么意思?C,c,C,我有以下代码: #include<stdio.h> int main(void) { if (-8 & 7) { printf("Math is good -8 and 7 are both not zero\n"); } else { printf("Everything we know is a lie!\n"); } system("PAUSE"); return (0);
#include<stdio.h>
int main(void)
{
if (-8 & 7)
{
printf("Math is good -8 and 7 are both not zero\n");
}
else
{
printf("Everything we know is a lie!\n");
}
system("PAUSE");
return (0);
}
#包括
内部主(空)
{
如果(-8和7)
{
printf(“数学很好-8和7都不是零\n”);
}
其他的
{
printf(“我们知道的一切都是谎言!\n”);
}
系统(“暂停”);
返回(0);
}
我是C语言的新手,我正试图弄明白&运算符的作用,有人能给我解释一下吗?“&”是按位and,它取2个数字的相应位,并将它们和在一起。“&&”是一个布尔AND运算符,根据所比较的两个条件的值返回true/false。single&是一个按位AND运算符。。您可以在此处了解更多信息:
与您的问题相反,程序会打印
Everything we know is a lie!
&
的按位操作如下
dec binary
-8 111111111111111111111000
7 000000000000000000000111
------------------------
& 000000000000000000000000
然而,第一项声明
Math is good -8 and 7 are both not zero
如果您使用逻辑运算符
&&
,则会打印,因为-8
和7
都是真的
请参见:这是一个简单的打字错误或概念错误;我们应该删除这个问题。和&
还有一个非常重要的区别。