gpt4 book ai didi

c - 如何使用函数上一次调用的结果作为下一次调用的隐含参数?

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:48 26 4
gpt4 key购买 nike

我是 C 的初学者,我刚刚写了一个 ftn,它消耗两个数字并返回它们的 gcd。现在我在想,如果你只消耗一个数字,你如何找到一个 gcd 使用指针。谁能告诉我是否有办法做到这一点?谢谢。

Example:
gcd(5) = 5 (gcd of 5 and itself)
gcd(10) = 5 (gcd of 10 and 5(from the last call))
gcd (4) = 1 (gcd of 4 and 5(from the last call))
gcd (7) = 1 (gcd of 7 and 1(from the last call))

最佳答案

在函数内部使用静态变量,不使用任何指针。

int PreviousGcd( int n )
{
static int previous = -1 ; //pick a magic number


if( previous == -1 )
{
previous = n ;
return previous ;
}
else
{
int result = gcd( n , previous ) ;
previous = n ;
return result ;
}
}

如果你真的想要指针,你可以传递 n 的地址。

关于c - 如何使用函数上一次调用的结果作为下一次调用的隐含参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128685/

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