elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  C++ funcion que retorne una cadena de caracteres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: C++ funcion que retorne una cadena de caracteres  (Leído 5,368 veces)
yokino

Desconectado Desconectado

Mensajes: 2


Ver Perfil
C++ funcion que retorne una cadena de caracteres
« en: 24 Julio 2012, 17:42 pm »

#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;
}


« Última modificación: 24 Julio 2012, 17:43 pm por yokino » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: C++ funcion que retorne una cadena de caracteres
« Respuesta #1 en: 24 Julio 2012, 19:53 pm »

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):
Código
  1. #include <stdio.h>
  2.  
  3. void Retorno(char palabra[]);
  4.  
  5. int main(void)
  6. {
  7.   char cadena[20];
  8.  
  9.   Retorno(cadena);
  10.   printf("%s\n",cadena);
  11.  
  12.   return 0;
  13. }
  14.  
  15. void Retorno(char palabra[])
  16. {
  17.   palabra[0] = 'h';
  18.   palabra[1] = 'o';
  19.   palabra[2] = 'l';
  20.   palabra[3] = 'a';
  21.   palabra[4] = '\0';
  22. }

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
yokino

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: C++ funcion que retorne una cadena de caracteres
« Respuesta #2 en: 25 Julio 2012, 18:00 pm »

Excelente!! muchas gracias funciono correctamente
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines