簡體   English   中英

C 如何解析char數組中的int和char?

[英]C How to parse int and char in char array?

我想在我的char數組中解析charint並在代碼中使用它們。 例如 char 數組是 a3。 我收到一條警告:“指針與 integer 之間的比較。” 我怎樣才能解決這個問題?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM