Frage zu C-Programm das die Zeichenanzahl, die eingeben wird, wieder ausgibt

Ist der Fehler jetzt bei main oder printf?
in der zeile 3 steht ja nix...
beim main fehlt vielleicht das void, aber da sollte normalerweise maximal eine warnung rauskommen...probiers einmal
 
sorry hab den beitrag von pixelshader erst gesehen, wie ichs schon geschrieben habe...
also wie gesagt: void oder nach dem printf ein return 0; etc.
 
Oh mann...
da hab ich den wald vor lauter bäumen nicht mehr gesehen, sorry...


Nur ich habe wieder bei dem Quellcode das Problem, das das letzte Wort ignoriert wird...

char satz[999];
printf("\nBitte einen Satz eingeben\n>");
fflush(stdout);
scanf("%s",&satz); {
/*Satzeingabe*/

gets_s(satz);
printf("\nDer Satz besteht aus %i Zeichen.",strlen(satz));


woran kann das liegen?
 
bin zurzeit etwas verwirrt aber das sollte es tuhn:
Code:
char satz[999];
definiert "satz" als (char*), also bereits einen Pointer.
eigenartig dass dein Compiler beim
Code:
scanf("%s",&satz);
keine Warnung ausgibt, denn du gibst "&satz" vom typ (char**) als Parameter des Typs (char*)

ausserdem, wozu die geschweifte Klammer hinter dem scanf()?
 
Die sind an sich über...


was meinst du mit dem Problem mit dem char?

MS Visual C++ sagt hier keine Warnung nix..

Aber hast du ne Idee warum der immer das letzte Wort nicht mitzählt?
 
oh sorry hab ich die kurzfassung meines Beitrags vergessen :rolleyes:

also: statt

Code:
scanf("%s",&satz);
sollte da korrektermassen
Code:
scanf("%s",satz);

aber da scanf und gets_s eh dasselbe machen sollten, in deinem Fall, verzichte doch einfach auf scanf, also statt

Code:
scanf("%s",&satz); {
/*Satzeingabe*/

gets_s(satz);
einfach nur
Code:
/*Satzeingabe*/
gets_s(satz);
 

Neue Beiträge

Zurück