我想检查字符串的最后一个字符是否等于“#”,如果是,请将其删除。但是,我不能做一个比较。我的代码怎么了?

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

最佳答案

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

关于c - C-检查字符串的最后一个字符是否等于“#”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58249286/

10-11 23:15
查看更多