不懂为什么返回的值是. . .
#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;
}
我知道了 问这么简单的问题 哎
----------------解决方案--------------------------------------------------------