函数递归问题,调试过程中程序遇到函数的return之后不跳出函数

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include<stdio.h>
int common(int x, int y);
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    int t=common(n,m);
    printf("%d",t);
    return 0;
}
int common(int x, int y)
{
    if(x==y)
        return x;
      if(x>y)
      {
          x/=2;
          common(x,y);
      }
      if(x<y)
      {
          y/=2;
          common(x,y);
      }
}


后面两种情况没有return

#include <stdio.h>

int common(int x, int y);

int main()
{
    int n, m;
    scanf("%d %d", &n, &m);
    int t = common(n, m);
    printf("%d", t);
    return 0;
}

int common(int x, int y)
{
    if (x == y)
        return x;
    else if (x > y)
    {
        x /= 2;
        return common(x, y);
    }
    else
    {
        y /= 2;
        return common(x, y);
    }
}