首页 > 解决方案 > 我想把这个顺序代码变成一个循环

问题描述

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

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

标签: cloopssequential

解决方案


也许是这样的:

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;
}

推荐阅读