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#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char cad1[100], cad2[100], cad3[100];
int longitud;
int long_cad(char[], char[], char[]);
printf("Introduce una cadena: "); printf("Introduce una cadena: "); printf("Introduce una cadena: ");
longitud=long_cad(cad1, cad2, cad3);
printf("La primera cadena tiene %d caracteres.\n", longitud
); printf("La segunda cadena tiene %d caracteres.\n", longitud
); printf("La tercera cadena tiene %d caracteres.\n", longitud
); }
int long_cad(char cad1[], char cad2[], char cad3[]){
int i,j,k;
i=0;
j=0;
k=0;
while(cad1[i] != '\0'){
i++;
}
return(i);
while(cad2[j] != '\0'){
j++;
}
return(j);
while(cad2[k] != '\0'){
k++;
}
return(k);
}
¿Por qué sólo cuenta la primera cadena?