【发布时间】:2023-03-28 02:57:01
【问题描述】:
我想检查我的字符串的最后一个字符是否等于“#”,如果是则删除它。但是,我无法进行比较。我的代码有什么问题?
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;
}
【问题讨论】:
-
您是否从编译器收到错误消息?如果是这样,该消息究竟是什么,您不理解其中的哪一部分?您必须提供更多详细信息,否则我们无法为您提供帮助。见stackoverflow.com/help/how-to-ask
-
我投票决定将其作为How does c compare character variable against string? 的副本关闭,它就是这样。 OP 接受了副本。然后一个金徽章用户重新打开它。我确实想知道为什么。
标签: c