C/Visual C - que le pasa a este scanf?

 
Vista:

que le pasa a este scanf?

Publicado por Pacorro (3 intervenciones) el 12/01/2009 22:54:13
Hola, soy nuevo en programación y tengo una duda que no consigo resolver:
el siguiente trozo de código:

int a,b;

printf("Introduce un numero: ");
scanf("%i",&a);
printf("Introduce otro numero: ");
scanf("%i",&b);

printf("Primer numero: %i Segundo numero: %i ",a,b);

al ejecutarlo la salida es la siguiente:

Introduce un numero: 1
Introduce otro numero: Primer numero: 1
Segundo numero:

no me da la opción de introducir otro numero en el segundo scanf.
¿Alguien tiene idea de a que puede ser debido?

Gracias de antemano.

Pacorro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:que le pasa a este scanf?

Publicado por apis (318 intervenciones) el 13/01/2009 04:50:11
Hola! yo siempre ponia la instruccion fflush(stdin); que lo que hace es limpiar el bufer del teclado despues de los scanf
algo asi como:

printf("Introduce un numero: ");
scanf("%i",&a);
fflush(stdin);
printf("Introduce otro numero: ");
scanf("%i",&b);
fflush(stdin);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:que le pasa a este scanf?

Publicado por Pacorro (3 intervenciones) el 13/01/2009 11:52:32
Hola, gracias por la respuesta, pero sigue haciendo lo mismo...
no tengo ni idea de por que #¿)$"$;;;$# pasa esto, habrá que seguir buscando.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:que le pasa a este scanf?

Publicado por Pacorro (3 intervenciones) el 13/01/2009 15:59:19
Ya se lo que pasa, el problema es que hay que poner un espacio antes del carácter de formato, quedaría tal que así:

scanf(" %i",a);
printf("lo que sea");
scanf(" %i",b);

de esta manera el asunto queda resuelto, por si a alguien le interesa.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar