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.