Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/07/2010, 14:17
minette1988
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: calcular la longitud de varias cadenas

He probado de hacer un while para cada cadena, pero el resultado de la compilación es este:

Introduce una cadena: lola
Introduce una cadena: ana
Introduce una cadena: juana
La primera cadena tiene 4 caracteres.
La segunda cadena tiene 4 caracteres.
La tercera cadena tiene 4 caracteres.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.      
  6. int main(){
  7.          char cad1[100], cad2[100], cad3[100];
  8.          int longitud;
  9.          int long_cad(char[], char[], char[]);
  10.  
  11.          printf("Introduce una cadena: ");
  12.          scanf("%99s", cad1);
  13.          printf("Introduce una cadena: ");
  14.          scanf("%99s", cad2);
  15.          printf("Introduce una cadena: ");
  16.          scanf("%99s", cad3);
  17.  
  18.          longitud=long_cad(cad1, cad2, cad3);
  19.  
  20.          printf("La primera cadena tiene %d caracteres.\n", longitud);
  21.          printf("La segunda cadena tiene %d caracteres.\n", longitud);
  22.          printf("La tercera cadena tiene %d caracteres.\n", longitud);
  23. }
  24. int long_cad(char cad1[], char cad2[], char cad3[]){
  25.          int i,j,k;
  26.          i=0;
  27.          j=0;
  28.          k=0;
  29.  
  30.          while(cad1[i] != '\0'){
  31.             i++;
  32.          }
  33.          return(i);
  34.  
  35.          while(cad2[j] != '\0'){
  36.             j++;
  37.          }
  38.          return(j);
  39.  
  40.          while(cad2[k] != '\0'){
  41.             k++;
  42.          }
  43.          return(k);
  44. }

¿Por qué sólo cuenta la primera cadena?