C 如何解析 char 数组中的 int 和 char?
C How to parse int and char in char array?
我想在我的 char
数组中解析 char
和 int
并在代码中使用它们。例如 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...
我想在我的 char
数组中解析 char
和 int
并在代码中使用它们。例如 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...