我想把这个顺序代码变成一个循环

时间:2021-05-21 09:56:36

标签: c loops sequential

我如何制作仅用于初始化的代码

m->dvd[0].id_f = 1;
m->dvd[0].id_c = 1;
m->dvd[0].state = AVAILABLE;

m->dvd[1].id_f = 1;
m->dvd[1].id_c = 2;
m->dvd[1].state = AVAILABLE;

m->dvd[2].id_f = 2;
m->dvd[2].id_c = 1;
m->dvd[2].state = AVAILABLE;

m->dvd[3].id_f = 2;
m->dvd[3].id_c = 2;
m->dvd[3].state = AVAILABLE;

m->dvd[4].id_f = 3;
m->dvd[4].id_c = 1;
m->dvd[4].state = AVAILABLE;

m->dvd[5].id_f = 3;
m->dvd[5].id_c = 2;
m->dvd[5].state = AVAILABLE;

变成更像循环的东西? 例如 For 或 While

1 个答案:

答案 0 :(得分:1)

也许是这样的:

for(int idx = 0; idx < 6; ++idx) {
    m->dvd[idx].id_f = idx / 2 + 1;  // 1, 1, 2, 2, 3, 3
    m->dvd[idx].id_c = idx % 2 + 1;  // 1, 2, 1, 2, 1, 2
    m->dvd[idx].state = AVAILABLE;
}