3

我想在我的数组中解析char并在代码中使用它们。例如 char 数组是 a3。我收到警告:“指针和整数之间的比较。” 我怎样才能解决这个问题?intchar

bool isValid(char piece[1]){
    if((piece[0] != "a") || (piece[0] != "b") || (piece[0] != "c") || (piece[0] != "d") || (piece[0] != "e") || (piece[0] != "f") || (piece[0] != "g") || (piece[1] <= 0) || (piece[1] > 7))
        return false;
    else
        return true;
4

2 回答 2

1

对于像这样的表达式的初学者

(piece[0] != "a")

左操作数具有类型char,而右操作数具有类型char *,因为"a"是字符串文字。看来您要比较两个字符。因此,不要使用字符串文字,而是使用字符常量,例如

(piece[0] != 'a')

其次,if语句中的条件

if((piece[0] != 'a') || (piece[0] != 'b') || and so on...

是不正确的。您需要使用逻辑 AND 运算符而不是逻辑 OR 运算符,例如

if((piece[0] != 'a') && (piece[0] != 'b') && and so on...
于 2020-12-24T23:28:56.330 回答
1

char文字用单引号(')而不是双引号(")表示,所以你应该检查piece[0] != 'a'等。

于 2020-12-24T23:15:27.843 回答