C语言求最大公约数利用枚举法

C语言求两数的最大公约数,利用枚举法,为什么写的代码有时能运行成功,有时候就没结果??这段代码哪里出错了,请指正,谢谢!

#include <stdio.h>
int main()
{
    int a,b;
    printf("请输入两个数:");
    scanf("%d,%d",&a,&b);
    int min,i;
    if(a<b) min=a;
    else min=b;
    for(i=min;i>=1;i--){
        if((a%min==0)&&(b%min==0)){
            printf("%d",i);
            break;
        }
    }
    return 0;
}

for(i=min;i>=1;i--){
        if((a%min==0)&&(b%min==0))  //i在减小,min的值一直没变过
        if((a % i == 0) && (b % i == 0))