先看一个很简单的程序,看看你是否能正确地回答,c d e f 分别是什么值。呵呵。答对了,就说明您对位与 逻辑与 位或 逻辑或的概念清楚了,下面的也就用不着浪费您的时间看它了。
int main(int argc, char* argv[])
{
unsigned int a = 3;
unsigned int b = 7;
unsigned int c = a | b;
unsigned int d = a || b;
unsigned int e = a & b;
unsigned int f = a && b;
return 0;
}
正确答案:
c = 7, d = 1, e = 3, d = 1
您答对了吗?
按位与操作符& 需要两个整值操作数在每个位所在处如果两个操作数都含有1则结果该位为1 否则为0 请不要把该操作符与逻辑与&& 操作符相混淆不幸的是好像每个人都会混淆一两次
按位或操作符| 需要两个整值操作数在每个位所在处如果两个操作数有一个或者两个含有1 则结果该位为1 否则为0 请不要把该操作符与逻辑或|| 操作符混淆
逻辑操作符的计算结果是布尔常量true 或false 如果这些操作符用在要求整数值的上下文环境中它们的结果将被提升成1 true 或0 false。
这次再看看原来的题目,明白了吗?呵呵。我在第一次看到这个题目的时候也蒙了一下。不过,幸好,还是做了出来。