mostrar lista recursiva

C
/* Construir una función recursiva que imprima la lista de números naturales
comprendidos entre dos valores a y b dados por el usuario. */
void lista(int a, int b){
  if(a == b){
    printf("%d", a);

  }else if(a < b){
    printf("%d ", a);
    printf("%d ", b);

    if (a + 1 != b){
      lista(a + 1, b - 1);
    }
  }

  else if(b < a){
    printf("%d ", a);
    printf("%d ", b);

    if (b + 1 != a){
      lista(a - 1, b + 1);
    }
  }
}
Source

Also in C: