如何实施包括负值的循环索引?
例如
a b c d
...
[-8] [-7] [-6] [-5]
[-4] [-3] [-2] [-1]
[ 0] [ 1] [ 2] [ 3]
[ 4] [ 5] [ 6] [ 7]
[ 8] [ 9] [10] [11]
...
我需要它来循环
for (int i = 1 - n; i < n; ++i) {
//...
}
答案 0 :(得分:1)
int main()
{
int ar[4] = { 0, 1, 2, 3 };
int n = 15;
for (int i = 1 - n; i < n; ++i) {
int sz = std::size(ar);
int j = (i % sz + sz) % sz;
printf("[%2d] : %d\n", i, ar[j]);
}
}