Veröffentlicht 13. November 200915 j 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:
16. November 200915 j 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.
16. November 200915 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.