Char Array Satz speichern
-
Guten Tag,
Ich möchte einen Satz in ein Array einlesen und wieder ausgeben lassen, leider ist mein Code fehlerhaft.
#include <stdio.h> #include <stdlib.h> int main(void) { char satz[1]; printf("K o p i e r p r o g r a m m\n\n"); printf("Geben sie einen Satz ein: \n"); scanf_s("%s", &satz[0]); printf("%s", satz[0]); system("PAUSE"); return 0; }
Weiterführend möchte ich bei diesem Satz doppelte Leerzeichen entfernen, da hab ich schon eine ungefähre Ahnung, wie ich da heran gehe. Es wäre daher nett, wenn jemand meinen Code verbessern könnte. Danke mal wieder
-
Ich bin noch selbst drauf gekommen, man kann das mit gets() machen. Funktioniert sogar recht gut. Für das Ersetzen von doppelten Leerzeichen, kann man doch mit einer For Schleife arbeiten, die bei jedem ' ' minus eins rechnet oder ?
-
Fragensteller01 schrieb:
Für das Ersetzen von doppelten Leerzeichen, kann man doch mit einer For Schleife arbeiten, die bei jedem ' ' minus eins rechnet oder ?
Jo, im Prinzip irgendwie schon.
Habs mal probiert(nicht anklicken, wenn Du weiter rätseln willst)
http://pastebin.com/41wV4EyQIst aber gar nicht hübsch geworden. Ob ich das mit goto besser hinkriegte?
-
char[1] bietet Platz für wieviele Zeichen? Das solltest du nochmal überdenken
-
Gut, ich kann bereits Zeichen einspeichern:
#include <stdio.h> #include <stdlib.h> int main(void) { int c; char satz[40]; printf("K o p i e r p r o g r a m m\n\n"); printf("Geben sie einen Satz ein: \n"); gets(satz); if (c = getchar(' ') > 2) { getchar(' ') - getchar(' '); } printf("%s", satz); system("PAUSE"); return 0; }
Leider funktioniert das mit den Leerzeichen in meinem Code noch nicht
-
Du wolltest doch mit einer for-Schleife arbeiten.
Meckert der Compiler bei deinem Code nicht rum?
Auch Warnungen musst du beachten.Wie soll deiner Meinung nach ein Zusammenhang zwischen
getchar
und satz sein?
Soooo magisch läuft das auch nicht.getchar
dient zum einlesen von einem Zeichen von der Standardeingabe und hat keinen Parameter. http://www.cplusplus.com/reference/cstdio/getchar/