问题标签 [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.
c - C中的后增量和前增量运算符
为什么 k 没有递增,而 i 和 j 在同一个表达式中递增。我还想知道程序的输出是什么。我得到的输出为 -2 3 1 0
pre-increment - 预增量运算符
为什么程序的输出是 '4 4' 而不是 '3 4' ?
c# - 为什么 ++ 运算符重载时 ++foo 和 foo++ 没有区别?
我看到我可以重载++
and--
运算符。通常您通过两种方式使用这些运算符。前后递增/递减一个 int 示例:
但是在运算符重载方面情况有点不同:
我的问题是为什么最后这两行输出相同的东西?更具体地说,为什么第一行(两行)输出flying
?
解决方案是将运算符重载更改为:
c++ - 我们可以可靠地预先增加/减少右值吗?
例如,std::vector<int>::iterator it = --(myVec.end());
。这在 GCC 4.4 中有效,但我听说它不是可移植的。
c# - 意外的语言行为 i++
我尝试执行以下操作
发现i
中间增加了
当我认为它最终会增加i
时:
i++
任何人都可以找到有关C# 工作原理的解释吗?
c - 增量运算符中的左值问题
当我编译这段代码时,我在语句 1 中得到一个 l-value Required 错误,我可以理解。即使我打算做同样的事情,语句 2 怎么不会产生错误?有人可以阐明吗?
php - echo ++$a + $a++ 的输出应该是什么
在 PHP 手册,运算符优先级部分,有这个例子:
我了解该行为未定义,原因如下:
因为解释器可以自由地以任何顺序x + y = y + x
评估x
和添加,以优化速度和/或内存。在查看本文中的 C 代码示例y
后,我得出了这一结论。
4
我的问题是,无论表达式和子表达式的评估方式如何,上述 PHP 代码的输出都应该是:
- op1 = ++$a => $a = 2, op1 = 2; op2 = $a++ => op2 = 2, $a = 3; 2 + 2 = 4
- op1 = $a++ => op1 = 1, $a = 2; op2 = ++$a => op2 = 3, $a = 3; 1 + 3 = 4
5从哪里来?或者我应该更多地了解操作员的工作方式?
编辑:
我一直盯着递增/递减运算符部分,但仍然无法弄清楚为什么 5。
++$a: Pre-increment -- 将 $a 加一,然后返回 $a。
$a++: 后增量——返回 $a,然后将$a 加一。
java - for循环中的前后增量
在 java 的 for 循环中进行预增量与后增量相比是否更高效?
示例代码:
和
我注意到,当我进行预增量时,执行时间比我进行后增量时要短。关于为什么会出现这种情况的任何建议?谢谢。
c - C代码,其中我有一个整数变量的值,在预增量操作之后我需要得到输出
请给出解释的输出?
我得到的答案是12但应该是13。