i++ 和 ++i

i++ 和 ++i 都是用于递增变量 i 的操作符,但它们的行为有一些关键的区别,特别是在表达式中的使用。

i++(后置递增)

  • 行为: i++ 先返回当前值,然后再将 i 增加 1。

  • 步骤:

    1. 读取 i 的当前值。

    2. 返回这个值作为表达式的结果。

    3. 然后将 i 的值增加 1。

++i(前置递增)

  • 行为: ++i 先将 i 增加 1,然后返回增加后的值。

  • 步骤:

    1. 将 i 的值增加 1。
    2. 返回这个增加后的值作为表达式的结果。

示例对比

#include <iostream>

int main() {
    int i = 5;
    int a = i++;  // 后置递增
    std::cout << "After i++, i: " << i << ", a: " << a << std::endl;  // i: 6, a: 5

    i = 5;  // 重置 i 为 5
    int b = ++i;  // 前置递增
    std::cout << "After ++i, i: " << i << ", b: " << b << std::endl;  // i: 6, b: 6

    return 0;
}

输出:

After i++, i: 6, a: 5
After ++i, i: 6, b: 6

解释:

  1. 后置递增 (i++):
    • 当 i++ 被执行时,i 的当前值(即 5)被返回并赋值给 a,然后 i 的值才增加到 6。
    • 所以 a 的值是 5,而 i 最终的值是 6。
  2. 前置递增 (++i):
    - 当 ++i 被执行时,i 先增加 1(变为 6),然后这个增加后的值被返回并赋值给 b。
    - 因此,b 的值是 6,i 的值也是 6。

使用场景

  • i++: 在需要先使用 i 的当前值,然后再递增时使用。
  • ++i: 在需要先递增 i,然后使用递增后的值时使用。

在简单的循环中,i++ 和 ++i 通常可以互换使用,因为最终的效果一样,但在更复杂的表达式中,这种区别就变得很重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王成长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值