我一直在尝试从char数组中获取字符串的一部分,而对于我的生活,我无法获得我在StackOverflow上找到的任何示例: Compare string literal vs char array 我已经在互联网上寻找解决方案,我尝试过混合指针,strcmp,strncmp,我能想到的一切。
我看不出如何让它发挥作用:
#include <stdio.h>
int main(void) {
const char S[] = "0.9";
if (S[1] == ".") {
puts("got it");
}
return 0;
}
我意识到这可能会破坏我的声誉......但我找不到解决方案......类似的文章并没有起作用。
提前感谢您的帮助:/
编辑:我不知道要使用的正确搜索字词;这就是为什么我没找到指定的原件。
答案 0 :(得分:4)
"."
是一个字符串文字。你想要的应该是一个角色常数'.'
。
试试这个:
#include <stdio.h>
#include <string.h>
int main(void) {
const char S[] = "0.9";
if (S[1] == '.') {
puts("got it");
}
return 0;
}
替代(但看起来更糟)方式:访问字符串文字的元素
#include <stdio.h>
#include <string.h>
int main(void) {
const char S[] = "0.9";
if (S[1] == "."[0]) {
puts("got it");
}
return 0;
}