问题标签 [operator-precedence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
209 浏览

c - 这个程序有任何序列点问题吗?

j=(i++,++i,j*i);这个定义好了吗?让我清除我的疑问。

0 投票
6 回答
2752 浏览

c++ - “x = ++x”真的是未定义的吗?

我在项目中使用Coverity Prevent来查找错误。

它报告此表达式的错误(变量名称当然已更改):

消息是:

EVALUATION_ORDER 缺陷:在“ x=(a>= b) ? ++x: 0;”中,“ x”写在“ x”(赋值 LHS)中并写在“ (a>= b) ? ++x: 0;”中,但副作用发生的顺序未定义,因为没有中间序列点。消息结束

虽然我可以理解 " x = x++" 是未定义的,但这对我来说有点难。这是一个误报吗?

0 投票
3 回答
3463 浏览

c - 为什么这个 C 程序在输出中打印奇怪的字符?

我有以下程序:

无论我输入什么,我都会得到:

为什么会发生这种情况,我看到的那个奇怪的字符是什么?

Stackoverflow 没有打印奇怪的字符。你可以在这里看到它:http: //ideone.com/EfZHr

0 投票
4 回答
248 浏览

c - 为什么这个 C 程序会给出意外的输出?

可能重复:
C 编程:这是未定义的行为吗?

我的预期输出是 556。但是当我执行它时,结果是 767。怎么样?

0 投票
4 回答
5628 浏览

c - C语言中++val++和++*p++的解释

有人可以解释这两种情况吗?谢谢。

0 投票
4 回答
209 浏览

vb.net - 短路:OrElse 与 Or 结合

如果我有以下...

...并且 a 是True那么显然 b 永远不会被评估。但是如果我添加一个Or,那又如何呢?

是否/应该对 c 进行评估?如果我放在一些括号里呢?

抱歉,如果这是基本的。当然,我可以自己测试答案,但我在这里或其他地方找不到这个问题的答案。很多关于 Or 与 OrElse 的问题,没有处理OrOrElse的问题

0 投票
2 回答
3159 浏览

c++ - C ++(C?)中变量的多个预增量操作

为什么以下在 C++ 中编译?

相同的代码在 C 中失败,为什么?

0 投票
11 回答
6702 浏览

c - 为什么“++x || ++y && ++z”首先计算“++x”,即使运算符“&&”的优先级高于“||”

为什么要先++x || ++y && ++z计算++x,即使运算符的优先级&&高于||

0 投票
1 回答
2747 浏览

racket - 方案/球拍:做评估的循环顺序

以下过程在方案 r6rs 和 Racket 中都有效:

我已经对 r6rs 和 Racket 进行了测试,它确实可以正常工作,但我只知道 DrRacket 是肯定的。

我的问题是是否可以保证步骤表达式((- x 1)(cons x lst)这种情况下)将按顺序进行评估。如果不能保证,那么我的程序就不是很稳定。

我没有在这两种语言的标准中看到任何具体说明,但我在这里问是因为当我测试它时,它是按顺序评估的。

0 投票
2 回答
362 浏览

language-design - 位运算符优先级

我在类似 C 的语言中遇到过几次问题是这样的:

由于优先级,这解析为:

有谁知道按位运算符的三个不同优先级的原始设计决策背后的原因是什么?更重要的是,你是否同意这个决定,为什么?