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? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Warum klappts mit int und float nur mit Double nicht?
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
tumu36
Grünschnabel


Dabei seit: 25.05.2016
Beiträge: 1

Warum klappts mit int und float nur mit Double nicht? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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?
25.05.2016 14:50 tumu36 ist offline Beiträge von tumu36 suchen Nehmen Sie tumu36 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
25.05.2016 16:04 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » Warum klappts mit int und float nur mit Double nicht?