¿Cómo puedo iterar a través de cada dígito en un número de 3 dígitos en C?

La longitud es siempre 3, ejemplos:

000 056 999 

¿Cómo puedo obtener el número para poder usar el valor del dígito en una matriz?

¿Sería más fácil convertir a un char , hacer un bucle a través de él y volver a convertir a int cuando sea necesario?

Para obtener el dígito decimal en la posición p de un número entero i harías esto:

 (i / pow(p, 10)) % 10; 

Entonces, para pasar del último dígito al primer dígito, harías esto:

 int n = 56; // 056 int digit; while(n) { digit = n % 10; n /= 10; // Do something with digit } 

Fácil de modificar para hacerlo exactamente 3 veces.

Como dice Austin, puedes encontrar respuestas fácilmente en Google. Pero básicamente implica mod-por-10, luego dividir por diez. Suponiendo enteros.