Grundlagen der Programmiersprache C
char s[10] = "hello";
printf("%zu %zu\n", strlen(s), sizeof s);Welche Ausgabe erzeugt der obige Code mit einem char-Array, das eine Zeichenkette enthält, bei der Ausführung?
- A5 10
- B6 10
- C10 10
Antwort und Erläuterung anzeigen
Antwort: A. 5 10
Eine Zeichenkette in C ist eine Folge von Zeichen, an deren Ende das Abschlusszeichen '\0' steht. strlen zählt die Zeichen vom Anfang bis vor das '\0' und ergibt für "hello" daher 5. sizeof s ist die Größe des gesamten Arrays s, also die deklarierte Elementanzahl von 10 Byte (die übrigen Elemente enthalten 0). Lässt man die Elementanzahl weg, wie in char s[] = "hello";, entsteht ein Array von 6 Byte einschließlich '\0'.
Weiter: 9 weitere Fragen zu Grundlagen der Programmiersprache C