El fragmento de codigo que mencione en el mensaje anterior es correcto ya que la condicion de salida del bucle while es que scanf devuelva un valor de 1 y que el numero almacenado en 'variable' sea igual o mayor que 0 e igual o menor que 9.
Un pequeño programa de prueba es:
Código:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int variable;
printf("Introduce un numero: ");
fflush(stdout);
while (scanf("%d", &variable) != 1 || variable < 0 || variable > 9){
puts("El rango valido es solo de 0 a 9.");
printf("Introduce un numero: ");
fflush(stdout);
}
printf("El valor de \'variable\' es %d\n", variable);
return EXIT_SUCCESS;
}
Un saludo