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

how to use logical operator directly into the user defined variables

本文关键字:用户 定义 变量 逻辑运算符      更新时间:2023-10-16
#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中?&&的操作是什么?请解释一下。

此操作

y=x&&10;

评估为:

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

因此

y = true

但是y是一个int,所以有一个从boolint的隐式转换,这导致y1

如果你写"a && b",那么变量a和b都必须等于true,表达式的结果返回true,否则结果为false。

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

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

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

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