Operador de módulo no Objective C

Da "Programação no Objetivo C" (Kochan):

O programa 5.8 solicita que o usuário insira um número e depois exibe os dígitos desse número do dígito mais à direita para o mais à esquerda.

// Program to reverse the digits of a number
#import <Foundation/Foundation.h>

int main (int argc, char *argv[])

{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int number, right_digit;

NSLog (@"Enter your number.");
scanf ("%i", &number);

while ( number != 0 ) {
right_digit = number % 10;
NSLog (@"%i", right_digit);
number /= 10;
}

[pool drain];
return 0;
}

Minha pergunta é: o que acontece quando o usuário digita um número de um dígito de 1 a 9? Não consegui encontrar nenhum material sobre esse caso. Após a compilação, o programa apenas prossegue com o retorno desse único dígito. Por que é que? Eu estava tentando criar código para essa tarefa e gastar literalmente 2 horas, tentando incorporar loops e tomada de decisão para esse problema "se o número é um dígito único". E a solução era tão ignorante!

questionAnswers(1)

yourAnswerToTheQuestion