Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在循环完成执行后访问第一个数组元素。
我有一个存储一些数字的数组,例如 1、2、3、4、5。该数组始终使用索引 0 进行初始化,但我没有使用第 0 个索引来存储任何内容。
所以我想要的是使用像1-2-3-4-5-1这样的环形索引,如果我使用来自第 0 个索引的数组,比如0-1-2-3-4-0和模数运算,我可以实现这一点。
当我的数组索引从 1 开始时,如何做到这一点?
您可以减一、做%和加一:
%
a[((i-1)%ARRAY_LEN)+1]
%这说明了一个与惯例作斗争的问题:您需要减法、a和加法,而不是简单的运算%。与其与 C/C++ 约定作斗争,不如接受它以获得更高的效率和其他人的可读性。
嗯......当你增加索引时,你可以只使用逻辑而不是取模:
if (++index >= 6) index = 1;