Código:
gcc -c -ansi -pedantic -Wall -O entrada -o salida
En tu caso las llamadas a scanf sin incluir el encabezado <stdio.h>" funciona" ya que todas las llamadas son similares pero si existieran variaciones se generaría "comportamiento no definido", en español cualquier cosa puede pasar desde el programa funcionando correctamente hasta el (usual) el programa reventando.
Un saludo