gpt4 book ai didi

c - 查找字符数组的长度

转载 作者:太空狗 更新时间:2023-10-29 16:24:50 25 4
gpt4 key购买 nike

我有一些代码如下:

int i=0;
char a[7]={0x00,0xdc,0x01,0x04};
int len=0;
len = sizeof(a);
printf("The Length is : %d", len);

这里我想求c中数组a的长度?如何做到这一点?

最佳答案

按照约定,C 字符串是“空终止的”。这意味着末尾有一个值为零的额外字节 (0x00)。任何对字符串执行某些操作的函数(如 printf)都会在发现 null 时认为字符串结束。这也意味着,如果您的字符串不是空字符终止的,它将继续运行直到找到空字符,这会产生一些有趣的结果!

由于数组中的第一项是 0x00,因此它将被视为长度为零(无字符)。

如果您将字符串定义为:

char a[7]={0xdc,0x01,0x04,0x00};

例如空终止

然后你可以使用strlen测量存储在数组中的字符串的长度。

sizeof 测量类型的大小。这不是你想要的。还要记住,数组中的字符串可能比数组的大小短。

关于c - 查找字符数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6150258/

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