当前位置: 代码迷 >> C语言 >> 不懂为什么返回的值是. . .
  详细解决方案

不懂为什么返回的值是. . .

热度:155   发布时间:2007-11-05 12:57:36.0
不懂为什么返回的值是. . .
#include<stdio.h>
int GCD(int a,int b)
{
if(b>a)
{
int t=b;
b=a;
a=t;
}
while(a>0)
a-=b;
return b; //为什么返回的是b 而不是a??[em13]
}
int main(void)
{
int j,k,n;
scanf("%d,%d",&j,&k);
n=GCD(j,k);
printf("GCD is %d.",n);
return 0;
}
求两个数的最大公约数 谢谢
----------------解决方案--------------------------------------------------------

你试过吗?错的程序有什么好问的


----------------解决方案--------------------------------------------------------
看看是什么就知道了,a做循环变量,它要变成非整数才能结束,你觉得它有可能做返回你要的结果吗?
----------------解决方案--------------------------------------------------------

请你将你的问题再解释一下!
我不太明白!


求两个数的最大公约数

百度搜索一下


----------------解决方案--------------------------------------------------------
#include<stdio.h>
int GCD(int a,int b)
{
while(a>0)
{
if(b>a)
{
int t=b;
b=a;
a=t;}
a-=b;
}
return b;
}
int main(void)
{
int j,k,n;
scanf("%d,%d",&j,&k);
n=GCD(j,k);
printf("GCD is %d.",n);
return 0;
}
我知道了 问这么简单的问题 哎

----------------解决方案--------------------------------------------------------
  相关解决方案