Autor
|
Tema: Hola, una ayudita please (Leído 2,055 veces)
|
jgarridc
Desconectado
Mensajes: 11
|
¿por qué no me funciona éste código?, esta hecho para contar la cantidad de dígitos de un número cualquiera, siempre entero. #include <stdio.h> #include <conio.h> void main(){ int num,cd; cd=0; printf("Introduzca numero: "); while (num!=0) { num = num/10; cd++; } printf("El numero consta de %d digitos", cd ); }
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Hola, el código no te funciona porque tienes puesto en el scanf : scanf("%d ", &num);
En lugar de: scanf("%d", &num);
El comportamiento de scanf no está definido en ese formato, solo elimina los espacios antes del especificador de formato. Aquí tienes más información: http://www.cplusplus.com/reference/cstdio/scanf/El problema es que scanf lee todo lo que has puesto por consola y además lo que queda en el buffer, si tú le añades un espacio es como si estuviese esperando un carácter más, por eso no funciona. Date cuenta de que si pones cualquier numero y luego cualquier otro, el programa funciona, pero de forma incorrecta. Un saludo.
|
|
« Última modificación: 11 Noviembre 2015, 19:25 pm por avesudra »
|
En línea
|
Regístrate en
|
|
|
jgarridc
Desconectado
Mensajes: 11
|
Joer, muchísimas gracias Avesudra me estaba volviendo loco, estoy aprendiendo a programar en C y estoy muy verde, pues eso, mil gracias por tu tiempo y un saludo.
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Joer, muchísimas gracias Avesudra me estaba volviendo loco, estoy aprendiendo a programar en C y estoy muy verde, pues eso, mil gracias por tu tiempo y un saludo.
De nada, aquí estamos para eso, ¡mucho ánimo! PD: Una sugerencia, aunque sé que en algunas Universidades enseñan a trabajar con conio, system("pause") y fflush(stdin) y tendrás que utilizarlo casi por obligación te recomiendo que te pases por aquí: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.htmlUn saludo.
|
|
« Última modificación: 11 Noviembre 2015, 19:33 pm por avesudra »
|
En línea
|
Regístrate en
|
|
|
jgarridc
Desconectado
Mensajes: 11
|
Muchísimas gracias, estoy estudiando C por mi cuenta, por placer y toda ayuda es poca....gracias de nuevo.
|
|
|
En línea
|
|
|
|
furciorifa
Desconectado
Mensajes: 94
|
Ya te respondieron es por el espacio esperado por scanf, te recomiendo igual no utilizar librerías que no sean estándar.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
HOLA, NECESITO UNA AYUDITA POR FAVOR..
Juegos y Consolas
|
saiayin
|
1
|
1,707
|
18 Noviembre 2006, 21:50 pm
por DarK_FirefoX
|
|
|
[Resuelto] Como hago para que HOLA = hola?
Programación Visual Basic
|
agus0
|
4
|
3,645
|
12 Febrero 2010, 11:48 am
por egrimm
|
|
|
Hola Chicos, Necesito ayudita con un notebook!
Windows
|
rsrvnsmth
|
3
|
5,620
|
30 Diciembre 2010, 21:58 pm
por Randomize
|
|
|
Hola chicos, ayudita porfa con este codigo que llevo. solo faltan 2 cositas
Programación C/C++
|
califvv
|
4
|
2,770
|
9 Diciembre 2012, 03:21 am
por califvv
|
|