[英]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.