
ERROR AL LEER POR TECLADO CADENA DE CARACTERES(STRING)
Publicado por Adrian (3 intervenciones) el 12/11/2016 15:42:07
Hola buenas, tengo un problemilla con un programa muy sencillo que pide codificar una funcion que devuelva la longitud de un string pasado como parametro, el error viene cuando yo al introducir por teclado la cadena que yo quiero, me devuelve la longitud hasta el primera espacio en blanco, cuando deberia hacerlo hasta el '\0'
Aquí dejo el programa como y lo tengo codificado.
Cuando tecleeo: hola y adios, me sale que la longitud es 4, y no 12 que es lo que deberia de salir, contando losespacios en blanco ' '.
Gracias
Aquí dejo el programa como y lo tengo codificado.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<stdio.h>
#define N 20
int longitudCadena(char cadena[]);
int main(void)
{
char cad[N];
int l;
printf("Introduzca una cadena de texto\n");
fflush(stdin);
scanf("%s", cad);
l=longitudCadena(cad);
printf("La longitud de la cadena es: %d", l);
return 0;
}
int longitudCadena(char cadena[])
{
int lon = 0;
while(cadena[lon]!='\0')
{
lon++;
}
return lon;
}
Cuando tecleeo: hola y adios, me sale que la longitud es 4, y no 12 que es lo que deberia de salir, contando losespacios en blanco ' '.
Gracias
Valora esta pregunta


0