strlen - die Länge der Zeichenkette wird manchmal um 1 erhöht

Ich mache ein paar C-Puzzle-Fragen. In den meisten Fällen kann ich die richtige Antwort finden, aber mit dieser habe ich Probleme. Ich kenne die richtige Antwort, indem ich den Compiler verwende, aber ich kenne den Grund nicht.

Schauen Sie sich den Code an:

char c[] = "abc\012\0x34";

Was würdestrlen(c) Rückkehr mit einem Standard C-Compiler?

Mein Compiler gibt 4 zurück, wenn das, was ich erwartet hatte, 3 war.

Was ich dachte iststrlen() würde nach dem ersten Vorkommen der suchenNULL Charakter, aber irgendwie ist das Ergebnis einer mehr als ich erwartet hatte.

Irgendeine Idee warum?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage