[j ++] = ++ i的等价表达式,不使用前置或后置增量运算符

Gra*_*ant 1 c pre-increment post-increment

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

a[j++] = ++i;不使用前/后增量运算符的情况下记下等效表达式.如果没有这样的表达式可以解释原因.

我能够想出以下内容:

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

我想不出一种方法来增加一个[]中的j作为一个后增量而不是j+=1;后来使用,我相信会导致答案没有这样的表达式可以提供(因为它的两行代码而不是一行)和只是说明你没有post增量运算符就不能发布增量.

我错过了什么或者我是否正确?我只是想仔细检查一下.提前致谢.

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

Jam*_*lis 11

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

a[(j += 1) - 1] = (i += 1);
Run Code Online (Sandbox Code Playgroud)

  • 相信我,我知道它是丑陋的,你永远不会这样做,但你能从计算机科学考试中得到什么......不会测试你的实际编程知识,而是试着欺骗你...谢谢你的回答虽然! (4认同)
  • 纠正两个方面.这太可怕了,但这是正确的答案. (3认同)