gpt4 book ai didi

c - 查找字符串长度时出现段错误

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

计算字符串长度的函数;我认为这里的逻辑是正确的:

int strlength(char *s)
{
int count=0;
while(*s!='\0')
{
count++;
s++;
}
return count;
}


int main(void) {
char *s;
int length;
printf("enter your string ");
scanf("%s",s);
length = strlength(s);
printf("string length:%d",length);
return 0;
}

我是否在此处正确获取字符串并分配它?任何人都可以解释为什么我在这里出现段错误吗?

最佳答案

您的 s 必须指向某物。下面是一个分配 128 字节的例子:

s = malloc(128);

一定要在用完后释放内存:

free(s);

请注意,您必须限制可以从用户那里读取的信息量。

scanf("%127s", s);

我为 NUL 终止符留了一个额外的字节。

关于c - 查找字符串长度时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45528793/

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