如何将逻辑运算符直接用于用户定义的变量

时间:2014-10-15 14:25:40

标签: c++

#include <iostream>
using namespace std;

int main() {
// your code goes here
int x=1;
int y;
y=x&&10;
cout<<y;
return 0;
}

输出为1

如何将值存储在y中? &&的操作是什么?请解释一下。

3 个答案:

答案 0 :(得分:2)

此操作

y=x&&10;

评估为:

x && 10
1 (int) && 10 (int)
true && true        // Note any non-zero integer will be evaluated to true
true

因此

y = true

但是yint,因此会有bool隐式转换回int,导致y为{{1} }}

答案 1 :(得分:2)

如果你写&#34; a&amp;&amp; B&#34;然后变量a和b都必须等于true,表达式的结果返回true,否则false就是结果。

对于整数,所有非零的值都被视为真。两个变量都不为零,因此表达式返回true。

当布尔值存储为整数时,true表示为1,而false表示为零。

这就是您的应用程序输出1的原因。

答案 2 :(得分:1)

y = 0仅当您输入0而不是10或将0分配给x时 如果左手操作数和右手操作数的值均为非零,则y = 1,因为两者都表示为真 如果其中一个操作数为0则y = 0,因为0表示假。