¿Cómo leo espacios en blanco usando scanf en c?

Problema: Necesito poder identificar cuándo ocurren dos espacios en blanco consecutivamente.

He leído las siguientes preguntas:

cómo leer una cadena de un \ n archivo delimitado

cómo leer scanf con espacios

Y estoy al tanto de los problemas de scanf:http://c-faq.com/stdio/scanfprobs.html

La entrada tendrá el siguiente formato:

1 5 3 2  4 6 2  1 9  0

Dos espacios en blanco indican que el siguiente conjunto de datos debe ser manejado y comparado consigo mismo. Se desconoce la longitud de la línea y se desconoce el número o los enteros en cada grupo. Dos espacios en blanco es lo máximo que separará el siguiente conjunto de datos.

Si bien puedo usar fgets y varias funciones integradas para resolver este problema, estoy en el punto en que resolver el problema con scanf en este punto probablemente sea más fácil. Sin embargo, si ese no es el caso, usar fgets, strtok y atoi harán la mayor parte del trabajo, pero aún necesito identificar dos espacios en blanco seguidos.

Lo siguiente tomará enteros hasta que se ingrese un no entero.

while ( scanf ( "%d", &x ) == 1 )

Lo que necesito hacer es leer espacios en blanco también y si hay dos espacios en blanco consecutivos, haré que el programa haga algo diferente con el siguiente conjunto de datos.

Y una vez que obtengo un espacio en blanco, no sé cómo decir:

if ((input == "whitespace") && (previousInput == "whitespace"))
  ya da ya da
else (input == "whitespace")
  ya da ya da
else 
  ya da ya da

Agradezco su tiempo y gracias por su ayuda.

Lección aprendida: Si bien Jonathan Leffler publica a continuación una solución para scanf, la solución fue un poco más sencilla con getc (al requerir un conocimiento menos íntimo del scanf interno, expresiones regulares y char). En retrospectiva, un mejor conocimiento de las expresiones regulares, scanf y char habrían facilitado el problema y, por supuesto, saber qué funciones están disponibles y cuál habría sido la mejor para usar desde el principio.

Respuestas a la pregunta(5)

Su respuesta a la pregunta