C-检查字符串的最后一个字符是否等于“#”

时间:2019-10-05 14:34:39

标签: c

我要检查字符串的最后一个字符是否等于“#”,如果是,则删除它。但是,我无法进行比较。我的代码有什么问题?

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;
}

1 个答案:

答案 0 :(得分:4)

问题可能是您正在将charv)与字符串文字("#")进行比较吗?也许尝试使用表达式(v == '#')(使用单引号而不是双引号来表示char),看看是否可行?