如何检查单个char是否至少等于给定的一组char?

Zag*_*rax 0 c string char

对不起,标题.随意将其编辑为更清晰的内容.

我有一个字符串,我必须检查此字符串的第一个字符串是否等于其他给定字符之间的至少一个,例如B,Z和K(在我的情况下,我有大约10个字符要检查,它们不是可归类为范围).

我正在按如下方式进行检查.

if (string[0] == 'Z' || string[0] == 'K' || string[0] == 'B') {
   /* do something... */
}
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法呢?

sim*_*onc 10

一种可能的方法是在字符串中列出目标字符并使用strchr

const char* matches = "ZKB...";
if (strchr(matches, string[0]) != NULL) {
    /* do something */
}
Run Code Online (Sandbox Code Playgroud)