我在使用双数组时遇到了一些麻烦。以下代码不会编译,但我相信它应该显示我的问题:
static uns8 level6[2][8] {
= {0, 0, 1, 2, 2, 3, 3, 0},
{0, 1, 1, 2, 2, 3, 3, 0}};
int i, j; /* Loop Index */
int level[8];
for (i = 0; i < 2; i++)
for (j = 0; j < 8; j++)
if (TRUE) {
level[][] = level6[][];
}
else {
level[i][] = level6[i][];
}
}
}
我的问题是如果变量为true,那么我想使用双数组{0, 1, 1, 2, 2, 3, 3, 0}
的第二部分,否则使用第一部分{0, 0, 1, 2, 2, 3, 3, 0}
。
现在我仍然坚持如何实际编写代码。有什么帮助吗?
答案 0 :(得分:0)
而不是
for (i = 0; i < 2; i++)
for (j = 0; j < 8; j++)
if (TRUE) {
level[][] = level6[][];
}
else {
level[i][] = level6[i][];
}
你应该
for (j = 0; j < 8; j++){
if (TRUE) {
level[j] = level6[1][j];
}
else {
level[j] = level6[0][j];
}
}
因为您只想将其中一个列表复制到级别中,所以您只需循环遍历该列表的长度,将该数字基于布尔值。