Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是&;什么意思?C_C - Fatal编程技术网

什么是&;什么意思?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
都是
真的

请参见:这是一个简单的打字错误或概念错误;我们应该删除这个问题。
和&
还有一个非常重要的区别。