Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » Warum klappts mit int und float nur mit Double nicht? » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
eulerscheZahl

Und deshalb schaut man sich die Warnungen des Compilers an.
code:
1:
2:
3:
4:
5:
6:
code.c: In function ‘main’:
code.c:8:7: warning: format ‘%f’ expects argument of type ‘float *’, but argument 2 has type ‘double *’ [-Wformat=]
 scanf("%f", &num1);
       ^
code.c:9:7: warning: format ‘%f’ expects argument of type ‘float *’, but argument 2 has type ‘double *’ [-Wformat=]
 scanf("%f", &num2);


Wenn du ein double hast, musst du mit %lf einlesen.
tumu36 Warum klappts mit int und float nur mit Double nicht?

Hi Leute!
Ich nutze C und die Aufgabe ist eigentlich ganz einfach. Und zwar geht es darum, 2 Zahlen vom Typ double einzugeben, diese miteinander zu vergleichen und dann die kleinere Zahl Ausgeben lassen.

Mein Programm sieht wie folgt aus und funktioniert, wenn ich statt den gewünschten Double, Integer oder Float Variablen nehme! So wie es jetzt hier steht gibt es immer "0.00000 is smaller than 0.00000" aus. unglücklich


#include <stdio.h>

int main()
{
double num1=0.00, num2=0.00;

printf("Enter the numbers you want to compare:\n");
scanf("%f", &num1);
scanf("%f", &num2);

if(num1<num2){
printf("%f is smaller than %f!", num1, num2);
}else{
printf("%f is smaller than %f!", num2, num1);
}

return 0;
}

Was mache ich falsch und warum klappts mit den doubles nicht?