Perl中的位运算符执行[已关闭]

px9o7tmv  于 2022-11-15  发布在  Perl
关注(0)|答案(1)|浏览(149)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

上个月关门了。
Improve this question
我在理解以下代码的执行时遇到问题:

my $input = 1;
print ("Statement") if ($input != 1 || $input != 2);

对比:

my $input = 1; 
print ("Statement") if ($input != 1 && $input != 2);

“Statement”意外地使用'OR'运算符打印。当我使用'AND'运算符时,“Statement”没有打印,这是我使用'OR'预期的结果。“if”$input is not equal to 1 'OR' 2 then print“Statement”。
我错过了什么?

jjjwad0x

jjjwad0x1#

是正确的。

$input = 1

所以在Or运算符$input != 1(假)和$input != 2(真)中。
由于至少满足其中一个条件,因此打印“报表”。
逻辑或:当A操作数或B操作数为True时返回True;否则返回False。

#!/usr/bin/perl

use strict;
use warnings;

my $input0 = 1;
print ("Statement0\n") if ($input0 != 1 || $input0 != 2);
print "\n";

my $input1 = 1;
print ("Statement1\n") if ($input1 != 1 && $input1 != 2);

相关问题