¿Cómo mostrar números hexadecimales en C?

Tengo una lista de números a continuación:

0, 16, 32, 48 ...

Necesito generar esos números en hexadecimal como:

0000,0010,0020,0030,0040 ...

He intentado una solución como:

printf("%.4x",a); // where a is an integer

pero el resultado que obtuve es:

0000, 0001, 0002, 0003, 0004 ...

Creo que estoy cerca allí. ¿Alguien puede ayudar ya que no soy tan bueno enprintf Cía.

Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta