gpt4 book ai didi

c - 将 strlen 与 scanf(%ms) 结合使用

转载 作者:行者123 更新时间:2023-12-02 08:05:57 27 4
gpt4 key购买 nike

是否可以在动态分配的字符串上使用 strlen()

例如:

#include <stdio.h>
#include <string.h>

int main ()
{
char *input=NULL;
printf ("Enter a sentence: ");
scanf("%ms", &input);
//Is this legit?
printf ("The sentence entered is %u characters long.\n",(unsigned)strlen(input));
return 0;
}

最佳答案

您可以在以 '\0' 结尾的任何 char 序列上使用 strlen(),也就是空字符 NUL*1,实际上等于 0

内存是如何分配的并不重要。

是的,这也适用于“动态分配”内存。


*1:不能与空指针常量NULL混淆。

关于c - 将 strlen 与 scanf(%ms) 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51693473/

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