求最大公约数 哪错了呀 算法 不通. 教教解决思路

求最大公约数哪错了呀算法 不通...教教voidzdgys(int a,int b){int tif(ab){if(a%b!0){ta%babbtz

求最大公约数 哪错了呀 算法 不通... 教教
void zdgys(int a,int b){

int t;
if(a>b){
if(a%b!=0){
t=a%b;
a=b;
b=t;
zdgys(a,b);
}else{
  printf("%d",(a/b));
}
}else{
  t=a;
a=b;
b=t;
zdgys(a,b);
}
}
main(){
int a,b;
printf("请输入两个数字a,b:\n");
scanf("%d%d",&a,&b);
zdgys(a,b);
}

[解决办法]
应该是printf("%d",b);
 
[解决办法]

探讨
C/C++ code
void zdgys(int a,int b)
{
int temp = 0;
if(a < b)
{
temp = a;
a = b;
b = temp;
}

while(b != 0)
{
temp = a % b;
……