首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用前后增量运算符的[j++]= ++i的等效表达式

不使用前后增量运算符的[j++]= ++i的等效表达式
EN

Stack Overflow用户
提问于 2011-02-23 03:50:23
回答 4查看 454关注 0票数 1

因此,我正在思考这个问题(这是一个家庭作业/考试复习问题):

在不使用前/后增量运算符的情况下,为a[j++] = ++i;写出一个等效表达式。如果不能提供这样的表达式,请解释原因。

我想出了以下几点:

a[j] = i+=1;

j+=1;

除了事后使用j+=1;之外,我想不出有一种方法可以在j+=1;中将j增量增加为post增量,我认为这将导致没有这样的表达式的答案(因为它有两行代码而不是一行代码),只需解释没有post增量运算符就不能发布增量。

我漏掉了什么吗?还是我说对了?我只想再查一遍。提前谢谢。

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-23 03:52:22

这是可怕和丑陋的,但这里无论如何:

代码语言:javascript
复制
a[(j += 1) - 1] = (i += 1);
票数 11
EN

Stack Overflow用户

发布于 2011-02-23 04:00:22

如果您知道i不会将其包装为零,那么想到的一个解决方案是:

代码语言:javascript
复制
(a[j] = i += 1) && (j += 1);
票数 2
EN

Stack Overflow用户

发布于 2011-02-23 04:23:29

逗号操作符算数吗?

代码语言:javascript
复制
a[j] = i + 1, j += 1, i += 1;

就像三行不同的代码..。但严格意义上说是一个。(我知道第二个I += 1是不必要的,但我写它是为了一致性。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5086811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档