Frage von john1611, 27

Scanf in C?

Hallo!

Wie kann ich in der Programmiersprache C mittels scanf 3 Fließkommazahlen einlesen lassen und danach nur die größte und kleinste ausgeben lassen?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Busverpasser, 17

float a,b,c;

scanf("%f","%f","%f",&a,&b,&c);

Dann vergleichen und die größte und kleinste ausgeben... ;-) mit z.B. printf()

Kommentar von Isendrak ,

Ahem... Wenn, dann:

scanf("%f %f %f",&a,&b,&c);

Sonst hättest du den Formatstring "%f" und als Parameter 2 'const char*' und 3 'float*'...

Kommentar von Busverpasser ,

Ja du hast vollkommen Recht! :-D

Habe sie wohl schon zu lange nicht mehr benutzt, die Funktion... :-D

Kommentar von Isendrak ,

Keine große Sache... Aber jetzt weißt du, warum ich persönlich es bevorzuge, meine Antworten vor dem Abschicken mal eben durch nen Compiler (bzw. Interpreter) laufen zu lassen... %D

P.S.: Ggf. sollte man den Rückgabewert von scanf noch überprüfen um sicherzugehen, dass auch wirklich 3 (oder wie viele es auch immer sein mögen %D) Werte eingelesen wurden.

Kommentar von Busverpasser ,

Ja und Ja...zumal ich eig. die ganze Zeit vor einem geöffneten Visual Studio und C++ Projekten sitze ist das eig. ganz schön peinlicher fail... ;-D

...aber hey man solls ja den Fragenden ja auch nicht zu einfach machen... ;-P

Kommentar von john1611 ,

Danke für die Antworten. Nun hat es funktioniert.

Antwort
von Dory1, 16

Keine passende Antwort gefunden?

Fragen Sie die Community