gpt4 book ai didi

与 C 中的数组大小混淆

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

为什么 sizeof (array [0]) 在其中有 17 个字符/字节时返回大小为 8?

#include <stdlib.h>
#include <stdio.h>

int main () {

char* array [2] = {"12345678912345678","12345678"};
int a = sizeof (array [0]);

fprintf (stdout, "%s , %d \n", array [0], a);

return 0;
}

返回:

12345678912345678 , 12345678

最佳答案

要获取实际存储的字符串的长度,使用

printf("%lu", strlen(array[0]));

这给出了 17 .

确保包含 <string.h>标题。

关于与 C 中的数组大小混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558885/

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