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