问题标签 [pre-increment]

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 投票
4 回答
448 浏览

c - a[j++] = ++i 的等效表达式,不使用前置或后置自增运算符

所以我在思考这个问题(这是一个家庭作业/考试复习问题):

a[j++] = ++i;在不使用前/后自增运算符的情况下写下等价的表达式。如果无法提供这样的表达,请解释原因。

我能够想出以下内容:

a[j] = i+=1;
j+=1;

我想不出一种方法来增加 a[] 中的 j 作为后增量,而不是在j+=1;之后使用,我相信这会导致无法提供这样的表达式的答案(因为它的两行代码而不是一行)和只是解释一下,如果没有后增量运算符,您就不能后增量。

我错过了什么还是我正确?我只是想仔细检查一下。提前致谢。

编辑:感谢@James McNellis,他提供了一种使用方法 a[(j+=1)-1] = (i+=1);

0 投票
11 回答
98751 浏览

java - Java: Prefix/postfix of increment/decrement operators?

From the program below or here, why does the last call to System.out.println(i) print the value 7?

0 投票
3 回答
224 浏览

javascript - 闭包编译器 - a++ >= 3 可以变成 ++a > 3 吗?

我承认我问了一个问题,为什么 Closure Compiler 不缩短某些乍一看似乎可以缩短的代码几天前,但这个原因在这种情况下不适用,我不确定为什么它没有缩短这里。

我的代码是:

现在有前置增量和后置增量。不同之处在于返回值 -a++返回a然后递增它,首先递增然后返回它。++aa

这归结为我的代码可以缩短为(忽略空格删除):

然而,闭包编译器似乎并没有改变(或识别)这一点。

++a >因此,我的问题是:使用而不是会产生什么副作用a++ >=

0 投票
8 回答
106995 浏览

java - ++Var和Var++的区别

在编程中,特别是在 Java 中,有什么区别:

这会对 for 循环产生什么影响?

例如

0 投票
3 回答
4219 浏览

c - 一元运算符如何在 C 中工作,您不能预先增加零

我对一元运算符如何在 C 中用于补码、逻辑否定和预递增感到困惑。

一个补码对 0 起作用,如下所示:

逻辑否定对 0 起作用,如下所示:

但是 Preincrement against 0 会产生编译器错误:

考虑到它们都是一元运算符,为什么这三个都不工作?

0 投票
2 回答
807 浏览

c - 使用增量运算符时未定义的行为

我是 C 新手,我在 C 中有一个增量运算符程序

输出是 10,有人可以解释一下输出是 10 吗?

0 投票
5 回答
5891 浏览

c++ - 单个语句中的多个增量运算符

可能重复:
未定义的行为和序列点

请解释以下语句的行为

它将如何计算?

0 投票
4 回答
1687 浏览

post-increment - for循环中++i和i++的区别

我很了解后缀和前缀递增/递减的工作原理。但我的问题是,在 for 循环中,哪个更高效或更快,哪个更常用,为什么?

字首?

还是后缀?

0 投票
5 回答
204 浏览

c - 输出这个程序。困惑吗?

所以我被这个问题困住了。

根据我的说法,'a' 应该是 20。a=6+6+8-8 但是,在执行时我发现答案是 18。我做错了什么?一步一步的解释会很有帮助。

0 投票
5 回答
10004 浏览

java - 预增量运算符是线程安全的吗?

我正在用java编写一个程序,让几辆车互相比赛。每辆车都是一个单独的线程。

当赛车完成比赛时,每一辆车都会调用这个方法。我已经以不同的计时器速度测试了该方法,它似乎工作正常。但是我确实意识到每个线程都在访问变量carsComplete,有时是在完全相同的时间(至少在日期命令给我的范围内)。

所以我的问题是:这种方法是线程安全的吗?