Saludos... Me ayudan con el siguiente codigo??? el problema es que no se ejecuta la linea marcada en rojo... Me queda en un cilo infinito... se supone que cuando se adivine el número debo capturar la respuesta a la pregunta ¿Quieres jugar otra vez? y por el contrario vuelve a pedir la primera respuesta... osea ignora "(scanf("%c", &YesONo);"
// Adivinar un número entre 1 y 1000.
#include <stdio.h>
int main(void)
{
int numero;
int respuesta;
char YesONo = 's';
while(YesONo != 'n')
{
respuesta = 0;
srand(time(NULL));
numero = 1 + (rand() % 1000);
printf("Tengo un número entre 1 y 1000\n");
printf("¿Puedes adivinar cual es?\n");
printf("Por favor escribe tu primera respuesta\n");
scanf("%d", &respuesta);
do
if(numero == respuesta)
;
else
{
if(numero > respuesta)
printf("Muy abajo. Intenta de nuevo\n");
else
printf("Muy arriba. Intenta de nuevo\n");
scanf("%d", &respuesta);
}
while(numero != respuesta);
printf("¡Excelente! ¡Adivinaste el número!\n");
printf("¿Quieres jugar otra vez (s o n)?\n");
scanf("%c", &YesONo);
}
return 0;
}