Devolver la letra que ocupa una posición en una cadena en C

#include <stdio.h>
#include <string.h>

char sacaletras (char cadena[100], int num);
int main ()
{
 char cad[100];
 int n;
 printf("Introduzca una cadena: ");
 gets(cad);
 printf("Introduzca una posición: ");
 scanf("%d",&n);
 if (n>strlen(cad))
  printf("Error! posición no válida!\n ");
 else 
  printf("La letra que ocupa la posición %d es: %c \n", n,sacaletras(cad,n));
 return 0;
}
char sacaletras (char cadena[100],int num)
{
 return(cadena[num]); //con punteros: return (*(cadena+num));

}