據我可以告訴邏輯在這是有道理的。然而,輸出是不正確的,我似乎可以理解它。遞歸GCD邏輯錯誤
#include <stdio.h>
int gcd(int, int);
int main()
{
int n, m;
printf("enter two numbers");
scanf("%d%d", &n, &m);
printf("The gcd of %d and %d is: %d \n", n, m, gcd(n,m));
return 0;
}
int gcd(int x, int y)
{
while(x!=y){
if(x>y)
return (x-y,y);
else
return(x,y-x);
}
return x;
}
它可以寫另一種方式,而不使用? b:c – Bradg89
當然,'?:'是'if-else'的縮寫。看到我更新的答案。 –
這真棒謝謝。 – Bradg89