gcd 应该是一个递归函数。它应该返回无效。它应该取两个正整数并将 GCD 放在第三个参数中。
这是我编码的 gcd 函数。但是,我意识到它不是递归函数。我将如何更改此代码使其成为递归函数?
void gcd(int *x, int *y) {
int i;
getValuesForGCD(x, y);
for (i = *x; i >= 1; i--)
{
if (*x % i == 0 && *y % i == 0)
{
printf("The GCD of %d and %d is %d", *x, *y, i);
break;
}
}
}