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

问题描述

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

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

解决方法

也许是这样的:

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