gpt4 book ai didi

c - 指定在 char 数组 c 中开始 strlen() 的位置

转载 作者:行者123 更新时间:2023-12-02 07:26:16 26 4
gpt4 key购买 nike

假设我有以下字符数组。我需要知道是否有办法获取数组中第二个字符串的长度。我知道我可以使用 strlen,但这给了我第一个字符串的长度。

#include <stdio.h>
int main()
{
char greeting[20]={'P','H','O','N','E','\0','6','0','1','7','1','2','1','2','1','6','\0'};
int count;
count=strlen(greeting); // this returns the length of first string which is 5
}

最佳答案

C 中的有效字符串以 null 结尾

char 数组中有 2 个空字符可能会导致很多问题,尤其是在使用内置函数时。

如果你真的想这样做

strlen(greeting + 1 + strlen(greeting));

strlen() 适用于以空字符结尾的字符串,如果您只将 greeting 传递给它,那么将计算长度直到遇到第一个空字符,长度将为返回,所以现在我们需要从第一个 null 之后的字符开始的长度,因此您应该按上面所示进行计算。

关于c - 指定在 char 数组 c 中开始 strlen() 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28301410/

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