gpt4 book ai didi

c - 如何检查字符串是否只包含 1 和 0?

转载 作者:太空宇宙 更新时间:2023-11-04 00:11:29 26 4
gpt4 key购买 nike

我正在尝试检测一个字符串是否只包含字符“0”和“1”。这是我目前所拥有的:

    while (indexCheck < 32) {

if ((input[indexCheck] != '0') && (input[indexCheck] != '1')) {

printf("not binary ");
indexCheck++;

} else if ((input[indexCheck] = '0') && (input[indexCheck] = '1')) {
indexCheck++;
printf("is binary ");

}

}

我知道为什么它为数组中的每个字符返回“是二进制”或“不是二进制”,但我不知道如何解决这个问题。如果字符串仅由“1”和“0”组成,我希望它返回一次“is binary”,如果这是错误的,则相反。我是 C 的新手,所以感谢所有帮助。

最佳答案

无需手动遍历字符串,您可以通过检查是否为 strspn() 来查看它是否仅包含某些字符。返回字符串的长度(通过查看其返回值的索引是否为字符串末尾的 0 终止符):

_Bool is_binary(const char *s) {
if (!s || !*s) {
return 0;
}
return s[strspn(s, "01")] == '\0';
}

关于c - 如何检查字符串是否只包含 1 和 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55374669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com