Hola, mh... no es referencia el problema tuyo en el codigo que tienes. Pero si, pasar por referencia es lo que buscar.
introducirFrase no retorna un char*.
char cadena[255] es una variable local. Desaparece al terminar la funcion.
return debe devolver int en tu caso.
Algo asi te deberia de servir:
Saludos.
Código (cpp) [Seleccionar]
printf("La frase introducida es %s", introducirFrase());
Código (cpp) [Seleccionar]
int introducirFrase(){
introducirFrase no retorna un char*.
Código (cpp) [Seleccionar]
char cadena[255]="";
printf("Frase: ");
gets(cadena);
return cadena;
char cadena[255] es una variable local. Desaparece al terminar la funcion.
return debe devolver int en tu caso.
Algo asi te deberia de servir:
Código (cpp) [Seleccionar]
void LeerCadena(char* cadena_){
gets(cadena_);
}
int main(int argc, char *argv[]) {
char cadena[255];
LeerCadena(cadena); // $cadena[0] == cadena
printf("%s", cadena);
Saludos.