簡體   English   中英

C - 檢查字符串的最后一個字符是否等於“#”

[英]C - Check if last character of a string equals “#”

我想檢查我的字符串的最后一個字符是否等於“#”,如果是,則將其刪除。 但是,我無法進行比較。 我的代碼有什么問題?

char* involved_node_string(int shared_val, int values[], int directions[]){;
    char involved_nodes[1024] = {};
    char *p = involved_nodes; 
    char result[1024];
    int k;
    for (k = 0; k < 4; k++){
        if (values[k] == shared_val){
            sprintf(result, "%d", directions[k]);
            strcat(involved_nodes, result);
            strcat(involved_nodes, "#");                                
        }
    }
    char v = p[strlen(p)-1];
    if (v == "#"){
        printf("Yes\n");    
    }


    return p;
}

問題可能是您將char ( v ) 與 string-literal ( "#" ) 進行比較? 也許嘗試使用表達式(v == '#') (使用單引號而不是雙引號來表示char ),看看是否有效?

暫無
暫無

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

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