如果条件在c ++和python中执行运算符[重复]
Posted
技术标签:
【中文标题】如果条件在c ++和python中执行运算符[重复]【英文标题】:If condition with operators execution in c++ and python [duplicate] 【发布时间】:2016-01-13 18:12:38 【问题描述】:关于如何在 C++ 和 Python 中执行的简单问题。 如果我有一个 if 条件
if ((b == c) and (a == b))
我对上述情况的怀疑是,
如果第一部分,即(b == c)
是 false
然后执行第二个条件,即(a == b)
,或者无论第一部分输出是什么,第二部分都会执行,而不管。
【问题讨论】:
【参考方案1】:在c++和python中,and
和or
操作都支持short-circuiting,即如果and
左边部分为假,右边部分不求值;如果or
的左边部分为真,则不计算右边部分。
在 c++ 中,这是符合标准的(§5.14/1):
&& 运算符组从左到右。操作数都根据上下文转换为 布尔 (条款 4 )。 结果是 真的 如果两个操作数都是 真的 和 错误的 否则。不像 & , && 保证从左到右 评估:如果第一个操作数是,则不评估第二个操作数 错误
和(§5.15/1):
|| 运算符组从左到右。操作数都根据上下文转换为 布尔 (条款 4 )。它 返回 真的 如果它的任何一个操作数是 真的 , 和 错误的 否则。不像 | , || 保证从左到右 评估;此外,如果第一个操作数的计算结果为 真的 .
在文档中也提到的python中(python2,python3):
x or y | if x is false, then y, else x (1)
x and y | if x is false, then x, else y (2)
注意事项:
(1) 这是一个短路运算符,所以它只在第一个参数为 False 时才计算第二个参数。 (2) 这是一个短路运算符,所以它只在第一个参数为 True 时计算第二个参数。
【讨论】:
感谢您的精彩见解。!以上是关于如果条件在c ++和python中执行运算符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在c语言编程中,如果先执行一条语句,隔段时间,在执行下一条语言,该怎样实现呢?