main() では x と y に 32 と 24 を格納して gcm() 関数を呼び出します。
gcm() 関数では、これを n と m で受け取って、ユークリッドの互除法を使って GCM を計算します。
求めた GCM を関数値としてリターンします。
gcm() 関数では n と m を直接演算していますが、引数の値が変わるときはあまり良い方法とは言えません。
本来はローカル領域にコピーしてから演算する方がルールにかなっています。
今回は gcm() 関数でパラメータの値を変更しても main() 側には影響しないことを確認するために直接演算してみました。
このように n と m の値を変更しても main() 側には影響しないことを確認して下さい。
それでは変更した値は、どこに格納されているのでしょう。 (^_^;)
int gcm(int n, int m)
{
while(n!=m)
{ if (n>m) n-= m;
else m-= n;
}
return n;
}