C 如何解析 char 数组中的 int 和 char?

C How to parse int and char in char array?

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

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;

char 文字由单引号 (') 而非双引号 (") 表示,因此您应该检查 piece[0] != 'a'

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

(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...