-
-
Erfahrener Benutzer
Roboter-Spezialist
Um in C Strings zu speichern, musst du die einzelnen Zeichen im Speicher ablegen. Dazu muss aber vorher ein Bereich dafür reserviert werden, da sonst einfach in den Speicher geschrieben wird und dadurch andere wichtige Teile deines Speichers überschrieben werden.
Es gibt da wie so oft in C mehrere Möglichkeiten um das Problem zu lösen. Die einfachste ist, ein Array von chars anzulegen. zB char string_array[10]
Hier musst du aber darauf achten, dass Strings immer mit einem '\0' abgeschlossen (terminiert) sein müssen. Dafür muss also immer noch Platz in deinem Array sein. Dh du kannst einen String der maximalen Länge 9 in string_array schreiben. In C wird üblicherweiser nicht auf eine Bereichsüberschreitung geprüft (der Programmierer weiß ja was er will).
Zum anderen ist ein stringname wie zB string_array oder dein n1 bereits ein Pointer. Deshalb musst du auch nicht die Adresse von n1 in scanf als 2. Parameter nehmen, sondern einfach den Namen scanf("%s", string_array);
Für dein verschwinden der Eingabeaufforderung gibts einen ganz einfachen Trick. Öffne dein Programm einfach in einem Dosfenster, das du vorher geöffnet hast mit zB Start->Ausführen->cmd. Dann bleibt es danach auch da, außer dein Programm stürzt ab 
sast
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen