我想检查字符串的最后一个字符是否等于“#”,如果是,请将其删除。但是,我不能做一个比较。我的代码怎么了?
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
)与字符串文本("#"
)进行比较?也许可以尝试使用表达式(v == '#')
(使用单引号而不是双引号来表示char
)并查看是否有效?
关于c - C-检查字符串的最后一个字符是否等于“#”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58249286/