gpt4 book ai didi

将指针返回函数的结果指针转换为引用,可作为参数传递给另一个函数

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

有以下内容:

char* function1(char* parameter)
{
printf("%c",*parameter);
}
char* function2(char* sequence)
{
return *sequence;
}
int main()
{
char* sequence = malloc(1);
*sequence = 'a';
function1(function2(sequence));
}

程序运行正确地给出了一个段错误,因为 function2 的调用返回一个指针,而 function1 调用需要一个由其指针参数指向的引用。

有没有办法将从 function2 返回的指针转换为引用,同时作为参数传递给 function1?

最佳答案

我想你想做这样的事情:

char* function1(char* parameter)
{
printf("%c", *parameter);
return parameter;
}
char* function2(char* sequence)
{
return sequence;
}
int main()
{
char* sequence = (char*)malloc(1);
*sequence = 'a';
function1(function2(sequence));
}

您还可以使用编译器来发现一些错误。function2() 必须返回一个 char*,但是当您返回时您正在取消引用它,这会得到一个 char。此外 function1() 也不返回值。

关于将指针返回函数的结果指针转换为引用,可作为参数传递给另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43645990/

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