Frage von Kirra1, 18

Welches Ergebnis liefert die folgende Befehlssequenz?

Welches Ergebnis liefert die folgende Befehlssequenz: char kette[10]={0}; kette[0]= 'a'; kette[2]= 'b'; printf("x%sx", kette);

ich habe bei mir xax gekriegt verstehe ich aber nicht,warum ich nicht zum Bsp. xa bx gekriegt ?? warum wurde kette[2]='b' vernachlässigt ???

Antwort
von Minihawk, 7

Die Antwort ist ganz einfach: Du beschreibst dort einen String. Ein String wird durch die Null in einem Feld beendet. Du schreibst a in Feld 0 und b in Feld 2, wenn in Feld 1 eine 0 steht, dann wird der String bei der Ausgabe dort beendet. Wilst du ab haben, so musst du statt

  kette[2]= 'b'

  kette[1]='b'

schreiben, und kette[2]=0

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten