Hola.
Si no he entendido mal, lo que pretendes es esto: EsTdAR -> Estdar. Asi que vamos por partes:
1) Te recomiendo, es que no utilices un bucle for, utiliza un while. ¿Por qué? Bueno, los bucles for son utilizados cuando conoces tanto el inicio como el final de una iteración, algo que no conoces a no ser que calcules el tamaño de la cadena una vez introducida.
2) Por otro lado, te aconsejaria que en vez de mostrar por pantalla cada caracter, mostraras la cadena ya transformada.
3) No utilices gets() pudiendo utilizar scanf().
Una vez dicho esto, vamos allá con la implemetentación:
Código:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char nombre[20], nom[20], ape[20];
printf("introduce tu nombre completo: ");
scanf("%s",nombre); // Leer cadena y almacenarla en nombre
if(nombre[0]>=97 && nombre[0]<=122)
nombre[0] = nombre[0]-32; // equivalente a: nombre[i] -= 32;
i=1;
while (nombre[i] != '\0'){ //mientras no se llegue al final de la cadena, ejecutar
if(nombre[i]>=65 && nombre[i]<=90)
nombre[i] = nombre[i]+32; // equivalente a: nombre[i] += 32;
i++;
}
printf("%s\n",nombre); // mostrar resultado por pantalla
return 0;
}
Saludos