Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2012, 12:29
DickGumshoe
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 10 meses
Puntos: 0
Concatenar cadenas sin string.h

Hola.

Estoy haciendo este ejercicio:

Código C:
Ver original
  1. /* 2.- Implemente una función concatena(s, t) que añada la cadena t al final de la cadena s.
  2. Se supone que hay espacio suficiente para contener las dos cadenas. (Sin utilizar la
  3. librería string.h). */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. int longitud(char cadena[])
  9. {
  10.     int i;
  11.    
  12.     for(i=0;cadena[i]!='\0';i++);
  13.     return i;
  14. }
  15.  
  16. void concatena(char cadena1[], char cadena2[])
  17. {
  18.      int i,j,k;
  19.      k=0;
  20.      j=longitud(cadena1);
  21.      
  22.      
  23.      for(i=0;i<longitud(cadena2);i++){
  24.      
  25.    
  26.      cadena1[longitud(cadena1)+1+i] = cadena2[i]; //NO ME CONCATENA LAS CADENAS
  27.      
  28.      }
  29. }
  30.  
  31. int main()
  32. {
  33.     char cad1[20], cad2[20];
  34.    
  35.     printf("Introduzca la primera cadena: ");
  36.     gets(cad1);
  37.    
  38.     printf("Introduzca la segunda cadena: ");
  39.     gets(cad2);
  40.    
  41.     concatena(cad1, cad2);
  42.    
  43.     printf("La cadena concatenada es %s\n", cad1);
  44.    
  45.     system("pause");
  46.     return 0;
  47. }

Creo que no me concatena las cadenas por el \0 de la primera cadena, aunque no estoy seguro.

Gracias.

Saludos.