gpt4 book ai didi

c - 访问不在映射区域内

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

我有以下代码,它将获取一个包含数字和符号的电话号码,并生成一个仅包含该号码的字符串。

char* turnIntoNumber(const char* tel)
{
unsigned int length_tel = strlen(tel);

char* number_start = 0x0;
number_start = (char*) malloc(length_tel + 1);

if(number_start == 0)
{
fprintf(stderr,"couldn't allocate memory for turnIntoNumber(const char*)");
exit(1);
}
char* number = number_start;

int index = 0;

for(;tel != '\0'; ++tel)
{
if(isNumber(*tel))
{
number[index] = *tel;

index++;
}
}

number[index] = '\0';

return number_start;
}

运行程序时,我收到 Sig Segfault。在 valgrind 下运行该程序告诉我“访问不在映射区域内”。

我不明白为什么它不起作用。你能告诉我,错误在哪里吗?

最佳答案

您正在尝试比较 tel'\0' (tel != '\0') 在 for 循环。你是说 *tel != '\0'

关于c - 访问不在映射区域内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27317565/

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