gpt4 book ai didi

c - 如何从正确存储的函数中获取该值?

转载 作者:行者123 更新时间:2023-11-30 21:42:18 25 4
gpt4 key购买 nike

int num5(int number)
{
number = 5;
return 0;
}

int main()
{
int number;
printf("%d", number);
}

我需要我的 main 能够将数字存储为 5,我只是用打印数字作为 5 来测试它。我意识到通过这个例子我可以这样做

return number; //function

int number = num5(number); //main

但是我的程序有点复杂,我不能只返回数字。

最佳答案

您正在使用按值传递方法。无论函数中发生什么变化,都不会影响主程序。这些更改仅限于功能内。

您需要使用以下方法来做到这一点!

int num5(int *number)
{
*number = 5;
return 0;
}

int main()
{
int number;
number = num5(&number); // pass the address of the number instead value
printf("%d", number);
}

当您将变量的地址传递给函数时,无论您在函数中进行什么更改,该变量都会保留该更改。这样你就会得到最新的分配值!

关于c - 如何从正确存储的函数中获取该值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25658951/

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