检查数组的X位置是否为char

Check if something at position X of array is a char

本文关键字:是否 char 位置 数组 检查      更新时间:2023-10-16
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的字符数组是DO

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

iso c++禁止指针和整数的比较c

你定义了一个二维数组

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

看起来不正确。