gpt4 book ai didi

尽管按字面意思输入了我想要的整数大小,但 Char 字符串长度未正确初始化?

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:05 24 4
gpt4 key购买 nike

我在 C 中使用 char 数组。我在上一步中设置了大小。当我打印出来时,它清楚地显示 num_digits 为 1。但是当我把它设置成一个 char 数组的大小时,使它成为一个大小为 num_digits 的 char 数组,它将数组的大小设置为 6。在下一步中,当我打印 strlen(number_array) 时,它会打印 6。打印出来时我得到了一些带有很多问号的东西。有谁知道为什么会这样?

int num_digits = get_num_digits(number);
printf("Num digits are %d\n", num_digits);
char number_array[num_digits];
printf("String len of array: %d\n", strlen(number_array));

最佳答案

您需要以 null 终止您的数组。

char number_array[num_digits + 1];
number_array[num_digits] = '\0';

如果没有这个空终止符,C 就无法知道您何时到达数组的末尾。

关于尽管按字面意思输入了我想要的整数大小,但 Char 字符串长度未正确初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57484114/

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