Oktaldarstellung innerhalb eines Strings in C

Im gegebenen Programm:

int main() {
  char *p = "\0777";
  printf("%d %d %d\n",p[0],p[1],p[2]);
  printf("--%c-- --%c-- --%c--\n",p[0],p[1],p[2]);
  return 0;  
}

Es zeigt die Ausgabe als:

63 55 0
-? - --7-- ----

Ich kann verstehen, dass es die ersten beiden Zeichen nach konvertiert\ 0 (\ 077) vonoktal bis dezimal aber kann mir jemand erklären warum 2 zeichen, warum nicht 1 oder 3 oder irgendein anderes?

Bitte erläutern Sie die Logik dahinter.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage