operator-precedence相关内容

关于操作数求值顺序的矛盾

当我从 deitel c 学习 C 中的递归函数时,我读到了这句话: 标准 C 没有指定大多数运算符(包括 +)的操作数的计算顺序. 但书中也说: 从左到右'+'的结合性 操作数的求值顺序: 谁能解释一下这是为什么? 解决方案 求值顺序和结合性是两个不同的东西,举个例子: int x = func1() - func2() - func3();//具有int ..

“!print(“1") || 的意外行为1"在 php 中

示例 1: if(!print(“1") || 1){echo "a";}别的{回声“b";} 输出 1b 示例 1 正在打印“1b";而不是“1a".根据我的说法,在解决 !print("1") 之后,如果最终条件应该是 if(0 || 1). 但是示例 2 正在打印“1a". 示例 2: if((!print(“1")) || 1){echo "a";}别的{回声“b"; ..
发布时间:2021-06-12 20:42:58 PHP

C 中的运算符优先级 - 返回值

我有这个声明: return *local_stack_var2++ + 42; 这些是分解时的正确步骤吗: 1.取消引用local_stack_var2 2. 给解引用的local_stack_var2加上42(函数实际上会返回这个值) 3.函数结束前,会激活post-increment,增加local_stack_var2指向的对象的值 所以在代码格式中,它看起来像这样 ..
发布时间:2021-06-12 20:42:55 其他开发

在 Python 中,为什么负数的偶次幂仍然是负数?

在 Python 中 >>>我 = 3>>>-i**4-81 为什么 -i**4 不计算为 (-i)**4,而是计算为 -(i**4)? 我想有人可能会争辩说,提升到幂优先于 i 与减一的(隐式)乘法(即你应该阅读 -1*i**4).但是在我学习数学的地方,-i**n 与 n 偶数和 i 正数,应该是正数. 解决方案 ** 运算符比 Python 中的 - 运算符绑定得更紧密 ..
发布时间:2021-06-12 20:42:49 Python

红宝石&&和 = 运营商误解

你认为下一个 Ruby 表达式的结果是什么? a = 10 &&乙 = 25 尝试在 ming 中计算,然后才使用 irb.因此,如果我们查看有关 Operators Precedence 然后我们将看到 && 运算符的优先级高于 =.所以你一定认为 Ruby 会以下面的方式计算表达式: a = ((10 && b) = 25) 但 Ruby 以另一种方式工作: a = (10 & ..
发布时间:2021-06-12 20:42:46 其他开发

PHP 条件赋值

在 Symfony 核心中发现一段有趣的代码 if ('' !== $host = $route->getHost()) {...} !== 的优先级高于 = 但它在逻辑上是如何工作的?第一部分很清楚,但其余部分? 我已经创建了一个小示例,但仍然不清楚:示例 解决方案 重点是:赋值的左边必须是一个变量!在您的示例中实现这一点的唯一可能方法是首先评估分配 - 这就是 php 实际所 ..
发布时间:2021-06-12 20:42:43 PHP

为什么 (1 == 2 != 3) 在 Python 中评估为 False?

为什么 (1 == 2 != 3) 在 Python 中的计算结果为 False,而 ((1 == 2) != 3) 和 (1 == (2 != 3)) 计算结果为 True? 这里使用了什么运算符优先级? 解决方案 这是由于操作符 连锁现象.Pydoc 将其解释为: 比较可以任意链接,例如 x 是等价的x ,除了 y 只计算一次(但在两个当 x 如果您查看 优先级code> ..
发布时间:2021-06-12 20:42:40 Python

C 中类型转换时的运算符优先级

下面这段代码给出了乘法的正确结果 int var0 = 245895;int var1 = 478565长长 val = 0;val = (long long) var0 * var1; 但是这篇文章给出了错误的结果: int var0 = 245895;int var1 = 478565长长 val = 0;val = (long long) (var0 * var1); 有人能帮我解释 ..
发布时间:2021-06-12 20:42:37 其他开发

正则表达式中的运算符优先级

当 Oracle 的正则表达式不包含括号时,它们的默认运算符优先级是多少? 例如,给定 H|ha+ 它会被评估为 H|h 然后像 ((H|h)a) 那样连接到 a,还是会H 与 ha 交替,如 (H|(ha))? 另外,+ 什么时候开始,等等? 解决方案 鉴于 Oracle 文档: 表 4-2 列出了支持在传递给 SQL 正则表达式函数和条件的正则表达式中使用的元字 ..
发布时间:2021-06-12 20:42:31 数据库

相同运算符优先级的结合性 -- *start++

为什么会出现以下表达式: total += *start++; 评估: total += (*start)++; 而不是: total += *(start++);//虽然这并不重要,但它会是一样的 ++(后缀增量)和 *(解引用具有相同的优先级并从右到左关联,那么为什么 不是++ 后缀先求值? 或者,后缀是否在序列点之后求值,等等: total += *++start 将评 ..
发布时间:2021-06-12 20:42:27 其他开发

PHP中的逻辑与赋值运算符优先级

最近我发现了这样的片段: $x = 2 &&$y = 3;echo (int)$x.':'.(int)$y; 产生输出 1:3.通过查看运算符 precedence sheet 我看到逻辑运算符 || 和 && 比赋值运算符 = 具有更高的优先级.所以第一个表达式应该被评估为 $x = (2 && $y) = 3; 变成 $x = (2 && null) = 3;code> 并最终计算为 $x ..
发布时间:2021-06-12 20:42:21 PHP

您可以为 Python 中的重载运算符强加对象优先级吗?

假设我有两个 Python 类,它们都定义了 add 和 radd 运算符重载,并且我将一个类的一个实例添加到另一个类的另一个实例中.选择的实现取决于添加项的顺序(Python 首先在 LHS 上查找 add 方法等). 我是否可以定义优先选择哪个对象的实现?例如,如果 radd 的优先级高于 LHS,我希望在 RHS 上调用该 radd. 我真的很想为所有重载的运算符执行此操作,因此 ..
发布时间:2021-06-12 20:41:21 Python

Javascript中模数的优先顺序是什么?

如果我有以下代码 var num = 15 % 2 + 6 * 4; 例如...我想知道输出是什么,特别是我想知道模数的优先顺序(由 % 符号执行的操作).求模是在加乘运算之前还是之后? 编辑:我已经看过人们将我链接到的文章 MDN 运算符优先级 并且在提出问题之前已经这样做了,但不幸的是它没有包含足够的信息来完全回答我的问题,因此我在这里提问.只是为了节省人们再次链接的工作 ..
发布时间:2021-06-03 19:16:45 前端开发

PHP的逻辑运算符是否可以像JavaScript一样工作?

我最喜欢JavaScript的一件事是逻辑运算符非常强大: & 可用于安全地提取对象字段的值,如果该对象或字段尚未初始化,则将返回null //如果param,param.object或param.object.field返回null//尚未设置字段=参数&&参数对象param.object.field; || 可用于设置默认值: //将参数设置为其默认值参数=参数||默认值; ..
发布时间:2021-05-30 20:40:44 PHP

静态全局变量初始化顺序

在我在这里找到的许多答案中,都说了以下几个字: 单个翻译单元(源文件)中的全局变量按照定义顺序进行初始化. 或 在相同的编译单元中,顺序已明确定义:与定义相同的顺序. 等 但是在C ++标准中我在哪里可以看到这些词?我想获得描述这种行为的一个或几个具体段落.我自己找不到,也不知道问谁. 解决方案 6.6.3非局部变量的动态初始化[ basic.start. ..