在C中打印2个数字并跳过数组中的2个数字

Ste*_*erg 2 c arrays loops

我试图找出一种在阵列中打印某些数字的方法有点困难.我有一个数组[ 0,1,2,3,4,5,6]和我想打印的数字0,1,4,5.是否可以创建一个循环,可以读取前两个数字,跳过接下来的两个数字并读取以下两个数字.

Yel*_*yev 5

您可以简单地对当前索引使用模运算来检查此数字是否属于"print 2"或"skip 2":

int a[17];
int length = sizeof(a) / sizeof(a[0]);

for (int i = 0; i < length; i++) 
{
    if (i % 4 < 2) 
        printf("%d ", a[i]);
}
Run Code Online (Sandbox Code Playgroud)

因此,对于i等于0和1,它将输出值.对于i == 2i == 3,条件将导致错误.接下来,它将需要4,4 % 4为0,它将每4步重复一次.