if (selecao > 0 && selecao < 5) {
if (assentosP[selecao] == 'O') {
printf("Test");
assentosP
是char
数组,其中包含D
或O
个字母(默认为D
)
char assentosP[2][4] = {
{'D', 'D', 'D', 'D'}, // [0][0], [0][1], [0][2]...
{'D', 'D', 'D', 'D'} // [1][0], [1][1], [1][2]...
};
我需要知道的是让AssentosP
找出数组位置selecao
中的字符是D
还是O
的方法。
当我尝试时,它会给我一个错误
iso c ++禁止指针和整数c之间的比较
答案 0 :(得分:1)
您定义了一个二维数组
char assentosP[2][4] = {
{'D', 'D', 'D', 'D'}, // [0][0], [0][1], [0][2]...
{'D', 'D', 'D', 'D'} // [1][0], [1][1], [1][2]...
};
因此,表达式assentosP[selecao]
具有类型char[4]
。您可能无法将此类数组与字符(或整数提升后的整数)进行比较,如此
if (assentosP[selecao] == 'O') {
考虑到如果一个数组声明有4个元素,那么索引的有效范围是[0,3]。因此这句话
if (selecao > 0 && selecao < 5) {
看起来不正确。