#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
#include <stdlib.h>
#include<dos.h>
void Retorno(char *letras[]);
void main()
{
/*Se requiere de una funcion que retorne una cadena de
caracteres "es ovbio que como tal no funciona,
pero es solo para tratar de explicar lo que se requiere"*/
char cadena[20]={NULL};//se pone la cadena como nula
Retorno(&cadena);//se apunta la cadena de caracteres para ser utilizada en la funcion
printf("%s",cadena);
exit(0);
}
void Retorno(char *letras[])
{
int i;
for(i=0;i<4;i++)
{
*letras[0]='h';
*letras[1]='o';
*letras[2]='l';
*letras[3]='a';
}
return;
}
Indicas que el lenguaje es C++ sin embargo el código fuente es C, ¿Cual de los dos estas estudiando?
Como C el problema es que no debes pasar la dirección del array, este se convierte a puntero de forma automática. Tampoco es necesario incluir los encabezados <string.h>, <dos.h>, <conio.h> <stdlib.h> y <ctype.h>, la función principal se debe definir como "int main(void) ...", entre otros detalles.
El programa corregido (es C):
#include <stdio.h>
void Retorno(char palabra[]);
int main(void)
{
char cadena[20];
Retorno(cadena);
printf("%s\n",cadena);
return 0;
}
void Retorno(char palabra[])
{
palabra[0] = 'h';
palabra[1] = 'o';
palabra[2] = 'l';
palabra[3] = 'a';
palabra[4] = '\0';
}
Un saludo
Excelente!! muchas gracias funciono correctamente