Texte
-
BastiH96 schrieb:
Er erwartet keine Eingabe von dem Namen und macht einfach weiter.. ?
Hast du den Code unverändert übernommen? Gibt es da noch weiteren Code, der vorher ausgeführt wird? Zeig doch mal dein ganzes Programm (per Copy&Paste, bitte nicht abschreiben).
-
Machst du vorher schon Eingaben?
Am besten das ganze Programm zeigen. (Minimales Programm das diesen Fehler reproduziert)
-
Ich schreibe mit einem Kumpel ein kleines Mini-Spiel, hab was geändert und jetzt funktionierts auch;) Danke;)
-
Ne quatsch, er gibt den Namen falsch wieder.
Habe genau den Code genommen und als Name einfach Bastian genommen. Muss ich beim Namen genau auf die Länge achten? oder gibt das nur das maximale an ?
-
Was hast du geändert (ich rate mal: Eingabepuffer war nicht leer)? Poste es doch bitte, damit andere mit dem gleichen Problem hier auch eine Lösung finden.
-
Okay..
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { printf("bitte sage uns wie du heisst"); char Name[100]; scanf("%[99]s", Name); // Da Name ein Array ist, wird hier kein & gebraucht printf("Hallo, %s\n", Name); system("PAUSE"); return 0; }
-
Das gibt die maximale Länge an.
Welchen Namen oder was gibt er denn aus?
Das können nur Probleme von vorhergehenden Programmcode sein.
-
Welcher Compiler?
Mach mal die Variablendefinition an den Anfang vom Block.
(vertausche Zeile 6 und 7)
-
Hier das was in der console steht:
bitte sage uns wie du heisst
Bastian
Hallo,
Drücken sie eine beliebige Tasteder name fehlt
-
DirkB schrieb:
Welcher Compiler?
Mach mal die Variablendefinition an den Anfang vom Block.
(vertausche Zeile 6 und 7)Du meinst wegen C89? Dann würde der Compiler doch einen Fehler ausspucken.
-
Hab vertauscht, Problem bleibt.
ich mach das ganze mit Dev-C++ 4.9.9.2
-
BastiH96 schrieb:
Hier das was in der console steht:
bitte sage uns wie du heisst
Bastian
Hallo,
Drücken sie eine beliebige Tasteder name fehlt
Dann zeig doch endlich mal deinen Code, bitte. Wie soll man dir sonst helfen?
-
Hab ich doch
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { printf("bitte sage uns wie du heisst"); char Name[100]; scanf("%[99]s", Name); // Da Name ein Array ist, wird hier kein & gebraucht printf("Hallo, %s\n", Name); system("PAUSE"); return 0; }
Der rest ist in Kommentare gepackt, erstmal.
-
Probier mal so:
scanf("%s", Name); // Da Name ein Array ist, wird hier kein & gebraucht
-
So gehts, Danke!
-
Da heißt ja auch "%99s" ohne die [].
Gott sei Dank ist Freitag.
-
DirkB schrieb:
Da heißt ja auch "%99s" ohne die [].
Gott sei Dank ist Freitag.Ha, ich hab mich auch ziemlich gewundert, warum das plötzlich nicht mehr klappt. Das ging doch mal!
Ich benutze scanf einfach zu selten...
-
Nebenbei ist dein Compiler uralt.
Es gibt aber seit dem Sommer neuere Versionen.
Lies mal hier: http://www.c-plusplus.net/forum/290329