#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
中? &&
的操作是什么?请解释一下。
答案 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
但是y
是int
,因此会有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表示假。