求助这个函数的递归调用为什么 能返回最大公约数
int gcd(int x,int y){
return y==0?x:gcd(y,x%y);
}
有人能解译一下吗?
程序代码:
#include<stdio.h>
#include<assert.h>
int main( void )
{
int i=0;
const int a=39;
const int b=17;
for (i=0;i!=30;++i)
{
assert(39*(1+17*i)+17*(586-39*i)==10001);
printf("39*(%-4d)+17*(%-4d)=10001\n",1+17*i,586-39*i);
}
return 0;
}
~[此贴子已经被作者于2018-4-19 21:18编辑过]
