C语言里用欧几里得的辗转相减求正整数n和m的最大公约数

求帮忙解一下,我做这道题一直在第一个循环里就直接跳出去结束循环了,进行不了下一步

#include<stdio.h>
int main() {
    int a,b,r;
    scanf("%d %d",&a,&b);
    r=x%y;
    while (r!=0)
    {
      x=y; 
      y=r;
      r=x%y;
    } 
    printf("%d",y);    
    return 0;
}

觉得有用的话采纳一下哈