++i 和 i++
Posted ljjnbpy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了++i 和 i++相关的知识,希望对你有一定的参考价值。
今天看String的源代码中看到startsWith方法里面有这么一段
while (--pc >= 0) { if (ta[to++] != pa[po++]) { return false; } }
当时很糊涂 后来baidu了下发现 i++是先是使用 i的原值,然后再原值的基础上加1。++i是先在原值的基础上加1,然后再使用i的值,注意“使用”这个词。
所以--pc >= 0这段代码可以这么理解,先对pc的值减1,再使用更新后pc的值 与0比较。ta[to++]理解为 先使用to的值再对to加1,故假如to初始值为0,ta[to++]就是ta[0];
以上是关于++i 和 i++的主要内容,如果未能解决你的问题,请参考以下文章
[Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段