递归的时候逻辑有点混乱,你看这样写是不是更好
#include
int gcd(int m,int n)
{
int g;
g = m%n;
if(0 == g)
{
return n;
}
else
{
return gcd(n, g);
}
}
int main()
{
int m,n;
scanf("%d,%d",&m,&n);
printf("gcd=%d",gcd(m,n));
return 0;
}
#include
int gcd(int m,int n)
{int g;
if(n==0)g=m;
else g=gcd(n,m%n);
return g;
}
void main()
{int m,n;
scanf("%d,%d",&m,&n);//中间的逗号你用的中文字符,所以不能识别
printf("gcd=%d",gcd(m,n));
}
#include
int gcd(int m,int n)
{int g;
if(n==0)g=m;
else g=gcd(n,m%n);
return g;
}
void main()
{int m,n;
scanf("%d,%d",&m,&n);//中间是逗号
printf("gcd=%d",gcd(m,n));
}
如果没看错scanf("%d,%d",&m,&n);这句话&m前面的那个逗号写成中文的了
scanf那段两个%d中间逗号好像不要的吧