一切都为我的程序编译并完美运行。我不得不编写一个递归 GCD 函数。然而,我使用了两个函数,gcdRecursive 和 gcd。我可以将此代码压缩成一个函数,这样我下面的代码中就不需要 gcd 函数了吗?或者我的代码是否正确,并且这两个功能都是必需的。
void gcdRecursive(int *x, int *y, int i){
if (i >= 1) {
if (*x % i == 0 && *y % i == 0) {
printf("The GCD of %d and %d is %d", *x, *y, i);
}
else {
gcdRecursive(x, y, i - 1);
}
}
}
void gcd(int *x, int *y){
getValuesForGCD(x, y);
gcdRecursive(x, y, *x);
}