gpt4 book ai didi

c - 在 char** 中查找 char* 的索引时出现段错误

转载 作者:行者123 更新时间:2023-11-30 14:22:58 25 4
gpt4 key购买 nike

我有一个函数,它接受 char** 和 char* 作为参数,它应该返回 char** 中 char* 的索引,如果它不在字符串数组中,则返回 -1。我确定的错误是 while(arr[i] != NULL)...但我不知道还能怎么做。

int isInArray(char** arr, char* str) {
int i = 0;
while(arr[i] != NULL) {
if(strcmp(arr[i], str) == 0)
return i;
i++;
}
return -1;
}

最佳答案

您可能忘记将 arr 的最后一个 char* 元素设置为 NULL。如果您不能这样做,那么您应该引入第三个参数 size_t arr_len 来传递 arr 的长度。

不相关的提示:由于您没有修改 *str*arr,请确保 const 正确并使用:

int isInArray(const char* const* arr, const char* str)

关于c - 在 char** 中查找 char* 的索引时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13336211/

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