我要检查字符串的最后一个字符是否等于“#”,如果是,则删除它。但是,我无法进行比较。我的代码有什么问题?
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;
}
答案 0 :(得分:4)
问题可能是您正在将char
(v
)与字符串文字("#"
)进行比较吗?也许尝试使用表达式(v == '#')
(使用单引号而不是双引号来表示char
),看看是否可行?