【C言語】再帰を用いるプログラムでのセグフォ
明解C言語入門編のp196にあるList8-7
再帰を用いて2つの整数の最大公約数を求めるプログラムなんですが
#include<stdio.h>
int gcdf(int vx, int vy)
{
return(vy == 0? vx: gcdf(vy,vx&vy));
}
int gcd(int va, int vb)
{
return(va>vb? gcdf(va,vb): gcdf(vb,va));
}
としてmainの中で入力された2つの整数n1,n2を
最大公約数としてgcd(n1,n2)を表示させるのですが、
(1,2)とか(2,4)などの再帰が1度しか行われない(?)プログラムでは
ちゃんと結果が表示されるのですが、
(4,6)など再帰が2度以上行われるプログラムになると
segmentation fault(コアダンプ)
と表示されます。
どこに問題があるのでしょうか
OSはubuntu14.04
エディタはvim
コンパイラはclangです。
よろしくお願いします。
補足
二つの整数を入力してください。 整数1:27 整数2:35 それらの和は62です。 としたいんです。