gpt4 book ai didi

c - 从 C 中的函数返回指针错误

转载 作者:行者123 更新时间:2023-12-04 11:03:42 25 4
gpt4 key购买 nike

我将 2 个字符串发送到一个带有指针的函数,我希望其中一个在返回主函数时发生变化。但它只是返回 null,因为它不应该。

int main (){
...
char *str1="SOME RANDOM INPUT";
char *str2=NULL;
function1 (str1, str2);
...
}

void function1 (char mystr, char *output){
char *input = strtok(mystr, " ");
if (input != NULL)
output = input;

return;
}

我做错了什么?

最佳答案

我认为你应该使用指向指针的指针来改变指针,就像这样:

int main (){
...
char *str1="SOME RANDOM INPUT";
char *str2=NULL;
function1 (&str1, &str2);
...
}

void function1 (char **input, char **output){
...
if (*input != NULL)
*output = *input;

return;
}

关于c - 从 C 中的函数返回指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20808884/

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