gpt4 book ai didi

c - strlen 的替代方案不在 0 处中断

转载 作者:行者123 更新时间:2023-11-30 18:34:12 25 4
gpt4 key购买 nike

是否有更好的方法来获取包含数字的数组的正确长度?

我有一个数字数组:0, 0, 1我试着弄清楚它的长度。它显然会中断并返回0 。我是 C 的新手但我尝试定制 strlen功能:

int custom_strlen(char *str) {
for(int i = 1; ;i++) {
if (str[i] == 0) {
return i;
}
}
return -47;
}

但它的效率并不高,并且在某些情况下也会返回意外的值。在这种情况下,预期输出将为 3。

有什么函数可以使用吗?

最佳答案

整数数组不是字符串。 C 数组本身不包含长度信息。 strlen 的工作方式是 C 字符串以 null 结尾,这意味着最后一个字符是 NUL(空字符),即 0。否则,没有办法知道数组有多长。

我认为您可能想要创建一个由'0','0','1'组成的数组。您可以发布您正在使用的阵列吗?

关于c - strlen 的替代方案不在 0 处中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52955892/

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