Mira, creo que te havias equivocado en algo...
Código:
int i = 0;
while (a[i]!='\0')
{
printf(" %c ",a[i]);
i++;
}
Me explico, aqui, los errores que tenias. En la condicion del while solo tenias, a != '\0', i lo que te referias, era, si toda la cadena sea diferente a '\0'. Con los punteros, se puede combinar con arrays y viceversa, despues en el printf, lo que hace es invocar el caracter donde en la posicion i ( en el primer caso en la posicion 0 ), despues sube a i a 1, despues hace lo mismo, hasta que se encuentre un '\0'.
Yo he provado tu funcion, pero a mi no me funciona el 100%, si quieres que te deja la mia, ya tienes el codigo:
Código:
char* encripta(char cadena[20],int clave)
{
for ( int int_ConFor01=0;cadena[int_ConFor01] != '\0';int_ConFor01++)
{
frase_encriptada[int_ConFor01] = cadena[int_ConFor01] + clave;
}
return frase_encriptada; // la tienes que poner en global, para que funcione
}
Saludos! y espero que te haya ayudado!