estas recorriendo toooda la cadena para saber si es capicua, si te pongo el numero 1224 ya a la primera pregunta me da q no es capi entonces mejoraria el codigo q se valla moviendo mientras sean los numeros iguales, y cuando salis del ciclo preguntas si tu valor x == y y retornarias q es capi sino no
en codigo seria así:
in capicua(char*num) //1- Capicua y 0- No capicua
{int largo
=strlen(num
),i
=0,med
=largo
/2;  while(num[largo]==num[i]&&i<med)
 {i++;
  largo--;
 }
 return num[largo]==num[i];
}       
 
espero q te alla aclarado tu problema y si no enteden algo pregunta