gpt4 book ai didi

c - 为什么 strlen() 起作用而我的方法不起作用?

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

<分区>

我有以下功能:

void print_out_reversed(char string[])
{
int index = strlen(string);
printf("%i\n", index);

while (string[index] != '\0')
index--;

for (int i = index; i >= 0; i--)
putchar(string[i]);
putchar('\n');
}

这个函数在我删除该行后工作正常

int index = sizeof(string) / sizeof(string[0])

并将其替换为

strlen(string)

但是为什么?我了解到,如果你想找出数组的长度,你必须将数组除以数组[0]。在我的旧版本中,无论我输入哪个字符串,他总是打印出索引为 8。我不明白为什么。我知道 strlen() 会忽略“\0”之后的元素,但假设我想要一个 char 数组的总大小。

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