| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
NinyoScript
Registrado: 14 Oct 2005 Mensajes: 2
| Publicado: 15/10/2005 7:04 am | | | Título: Error en el capitulo 6 |
| error en el curso, pagina:6, titulo:"Introducir datos por teclado"
Dice lo siguiente:
~~~~~~~~~~~~~~~~~~~~~~~~~
Ejercicio 1: Busca el error en el siguiente programa:
| Código: | #include <stdio.h>
int main() { int numero; printf( "Introduce un número: " ); scanf( "%d", numero ); printf( "\nHas introducido el número %d.\n", numero ); return 0; }
|
Solución:
A la variable número le falta el '&' con lo que no estamos indicando al programa la dirección de la variable y no obtendremos el resultado deseado. Haz la prueba y verás que el mensaje "Has introducido el número X" no muestra el número que habías introducido.
~~~~~~~~~~~~~~~~~~~~~~~~~
Falta que en el scanf (y el segundo prinf), esta pidiendo una variable tipo double... así que cuando compilas te sale error porque esta tratando de meter un numero mas grande en una variable tipo int... eso es FEO...  |
|
| Volver arriba | |
 |
rir3760

Registrado: 01 Oct 2004 Mensajes: 7520 Ubicación: Mexico
| Publicado: 15/10/2005 7:57 am | | | Título: |
| El ejemplo y la solucion son correctos, %d tanto en la llamada a scanf como en la segunda llamada a printf indican que la variable que se pasa es de tipo int.
Con printf cuando se pasa un valor o variable de tipo float o double se utilizan los calificadores %e, %f y %g.
Con scanf es un poco mas enredado: %e, %f y %g para objetos de tipo float y %le, %lf y %lg para objetos de tipo double.
Una referencia mas extensa pero en ingles la puedes encontrar a partir de esta pagina.
Un saludo _________________ C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language |
|
| Volver arriba | |
 |
NinyoScript
Registrado: 14 Oct 2005 Mensajes: 2
| Publicado: 15/10/2005 11:53 am | | | Título: :( |
| y porque mi compilador decia que habia un error y que no podia meter ese valor en el int 
no entiendo  |
|
| Volver arriba | |
 |
|
rir3760

Registrado: 01 Oct 2004 Mensajes: 7520 Ubicación: Mexico
| Publicado: 24/10/2005 2:51 am | | | Título: |
| El codigo del ejercicio corregido:
| Código: | #include <stdio.h>
int main(void) { int numero; printf("Introduce un número: "); scanf("%d", &numero); printf("Has introducido el número %d.\n", numero); return 0; } |
Compila sin errores y produce los resultados esperados en los compiladores que tengo a la mano.
¿Que compilador utilizas y cual es exactamente el mensaje de error que te muestra?
Un saludo _________________ C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language |
|
| Volver arriba | |
 |
|
|