Wie nehme ich jeweils ein Zeichen als Eingabe aus einer Zeichenfolge ohne Leerzeichen in c?

Angenommen, "5181 2710 9900 0012" - ist eine Ziffernfolge. Ich muss jeweils eine einzelne Ziffer als Eingabe aus der Ziffernfolge ohne Leerzeichen verwenden, um arithmische Operationen auszuführen. Also, ich schreibe das,

int a[20];
for(int i=0;i<16;i++)
{
scanf("%d",&a[i]);
  }

aber es gab mir nicht erwartetes Ergebnis. Aber wenn ich "% 1d" anstelle von "% d" verwende, erhalte ich das erwartete Ergebnis. Also, wie funktioniert das?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage