C语言程序,这里头if(a<b)return gcd(b,a);if(a%b==0)return b;return gcd(b,a%b);不懂gcd(,)表示的什么意思大神求解
3 回答

桃花长相依
TA贡献1860条经验 获得超8个赞
这是求最大公约数,用的碾转相除法,return gcd(b,a%b);是当a%b不是0是递归调用gcd,只不过原来函数的a变成b,b变成a%b,继续上面步骤
void func( mode)
{
if(endCondition)
{
constExpression //基本项
}
else
{
accumrateExpreesion //归纳项
mode=expression //步进表达式
func(mode) //调用本身,递归
}
}

慕工程0101907
TA贡献1887条经验 获得超5个赞
gcd是函数名,这个函数的意义是用辗转相除法求最大公约数。
这是个一个递归调用,return 是返回,但不一定是返回main函数,因为是递归,调用的有可能就是它自己,而不是main函数,所以返回给上一层调用它的那个地方。
- 3 回答
- 0 关注
- 128 浏览
添加回答
举报
0/150
提交
取消