Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu Array u. Formatanweisung

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu Array u. Formatanweisung

    Hallo.

    Ich hätte eine frage zum genannten Thema.

    ich versuche mich gerade in "Array's" und hänge an einer stelle.

    [C-Code]

    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
    char a[] = {"H" "a" "l" "l" "o"};
    char b[] = {'W', 'e', 'l', 't'};
    printf("%s",a);
    printf("\n%s", b);

    return EXIT_SUCCESS;

    }


    Warum gibt mir die zweite "printf" Anweisung bzw. die zweite Formatanweisung %s 'Hallo', nach der ausgabe 'Welt', nochmasl aus?

    Würde mich über Antwrt freuen.

    Mit Dank und grüßen

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: FürHp.jpg
Ansichten: 1
Größe: 19,1 KB
ID: 2491

  • #2
    Hallo!

    Der Grund ist, dass dein Code eigentlich falsch ist.

    Die erste Zeile ist kein Array aus Chars, sondern ein String.

    Da steht im Prinzip dasselbe, wie

    char a[] = {"Hallo"};

    Die zweite Zeile ist ein Char-Array, aber nicht NULL-terminiert.

    Wenn du nun die zweite Zeile an String ausgibst, hängt dahinter noch der alte String im Speicher.

    Es muss

    char b[] = {'W', 'e', 'l', 't', '\0' };

    lauten.

    Kommentar

    Lädt...
    X