if (selecao > 0 && selecao < 5) {
 if (assentosP[selecao] == 'O') {
     printf("Test");
assentosP是一个char数组,具有一堆DO字母(默认为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中的char是D还是O的方法。

当我尝试时,它给我一个错误

最佳答案

您定义了二维数组

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) {

看起来不正确。

08-28 02:02