c-freak Geschrieben 13. November 2009 Geschrieben 13. November 2009 Erstmal hallo alle zusammen, ich habe ein kleines problemchen. wäre super wenn ihr mir weiter helfen könntet Und zwar soll aus einem String die ersten 10 zeichen ausgegeben werden und der rest der abgeschnitten wurde in einer neuen zeile ausgegeben werden mein code: #define BUF 100 char kette[BUF],i; int main() { printf("Bitte geben Sie eine Zeichenkette ein:\n"); scanf("%s",kette); // Äquivalent scanf("%s",&kette[0]); printf("\nDer Eingegebene String lautet:%s\n",kette); for(i=0;i<10;i++) { kette = *kette+i; printf("Der gespeicherte Sting lautet:%s",kette[i]); } printf("Folgende Zeichen wurden abgeschnitten:%s",&kette[10]); return 0; } Mit der ausgabe des ganzen stings funktioniert es und mit dem abgeschnittenen Teil auch, nur die ersten 10 zeichen machen mir :confused: Zitieren
Sassy Geschrieben 16. November 2009 Geschrieben 16. November 2009 Du hast eigentlich nur ein paar kleine Fehlerchen gemacht. char kette[BUF],i; i muss natürlich als int deklariert werden. scanf("%s",kette); Hier muss es heissen: scanf("%s",&kette); Und hier printf("Der gespeicherte Sting lautet:%s",kette[i]); muss nur ein einzelnes char ausgegeben werden: %c kette = *kette+i; Diese Zeile brauchst du gar nicht. Und dann würde ich noch diese Zeile printf("Der gespeicherte Sting lautet:%s",kette[i]); in zwei Zeilen aufsplitten: printf("Der gespeicherte Sting lautet: "); VOR die for-schleife und nur prinft("%c",kette[i]); IN der for-schleife lassen. Zitieren
TDM Geschrieben 16. November 2009 Geschrieben 16. November 2009 i muss natürlich als int deklariert werden. Muss nicht. Von 0 bis 127 kann er/sie/es auch mit char zählen. Hier muss es heissen: scanf("%s",&kette); Nein. Vgl.: scanf Anmerkung: globale Variablen müffeln. Zitieren
c-freak Geschrieben 16. November 2009 Autor Geschrieben 16. November 2009 suuuper danke, hat alles geklappt und ist auch verständlich :upps Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.