自增(++)和自减(--)运算符用于将变量值加1或减1;前缀(++i)先变后用,返回新值;后缀(i++)先用后变,返回原值;独立使用时效果相同。

自增(++)和自减(--)运算符用于将变量的值加 1 或减 1,是 C、C++、Java、JavaScript 等语言中常用的简洁写法。关键在于区分前缀(如 ++i)和后缀(如 i++)——它们在表达式中的行为不同。
前缀形式:先变化,再使用
前缀 ++ 或 -- 会先修改变量的值,再把新值用于所在表达式。
- int i = 5;
- int a = ++i; → i 先变成 6,然后 a 得到 6
- 此时 i 和 a 都是 6
后缀形式:先使用,再变化
后缀 ++ 或 -- 会先用变量的当前值参与表达式计算,之后才对变量本身加 1 或减 1。
- int i = 5;
- int b = i++; → b 先得到 5,然后 i 才变成 6
- 结果是 b=5,i=6
单独使用时,前后缀效果一样
如果 ++ 或 -- 不在更大的表达式中,只是独立成句(如循环体或单独一行),那么前缀和后缀没有区别。
- i++; 和 ++i; 都会让 i 增加 1
- 常见于 for 循环:for (int i = 0; i 或 for (int i = 0; i 效果相同
避免在复杂表达式中混用,容易出错
像 a = i++ + ++i; 这类写法依赖求值顺序,在不同语言或编译器中可能行为不一致,属于未定义行为(尤其在 C/C++ 中)。建议拆分成多步,提升可读性和可靠性。
- ❌ 不推荐:x = a++ + ++a;
- ✅ 推荐:x = a + (a + 1); a += 2;










