Wieso gibt der Compiler nicht das richtige aus?

Aufrufe: 1455     Aktiv: 17.05.2020 um 14:24

0
include #include <stdlib.h> typedef struct keyvalue_ { int key; char value[50]; } keyvalue; keyvalue kvstore[100]; int main() { keyvalue kv1 = {3, "Hallo ich bins"}; kv1 = kvstore[0]; printf("%d", kvstore[0]); } Wieso kriege ich nicht die 3 als Ausgabe sondern die 0?
Diese Frage melden
gefragt

Student, Punkte: 10

 
Kommentar schreiben
1 Antwort
1
Hallo Tremimi, die Zuweisung ist wahrscheinlich falsch. Zuerst weist Du der lokalen Variablen kv1 {3,"Hallo ich bins"} zu und sofort darunter den Inhalt von kvstore[0]. Somit ist die erste Zuweisung überschrieben. kvstore ist eine globale Variable und alle globalen Variablen sind bei den Compilern die ich kenne immer mit 0 initialisiert. Daher 0. Ich denke Du meinst kvstore[0]=kv1; Gruß jobe
Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Kommentar schreiben