era quello che volevo ottenere io, ma risolto con molta più classe

c'è una cosa che non capisco: l'istruzione

codice:
digits[i] = input[i] - '0';
serve per trasformare l'input digitato da tastiera da char a int per poi poter essere utilizzato come indice di vettore.

anch'io inizialmente volevo adottare questa soluzione, ma non trovavo il metodo per trasformare la stringa di char in un array di int.

mi potresti spiegare quel
codice:
input[i] - '0'
cosa fa esattamente?