繁体   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