PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kleine frage zum Thema typecsting (hoffe richtig geschreiben)



cyber_gh0st
08.05.2009, 22:17
hi mir ist vo kurzem aufgefallen dass bei diesem Programm:

#include <stdio.h>

int main(void) {
int number;
printf("Bitte geben sie eine Nummer ein:");
scanf("%d",&number);
printf("Die Zahl ist: %d", (float) number);
return 0;
}

das Ergebnis (also die 2te Ausgabe) immer 0 ist warum ???

ich vertehe das nicht warum ist das ergebnis nicht z.B 3.00000 oder so???

wenns nicht am typecast liegt woran dann ???

und wie kann ich das "richtig" machen???

mfg cyber_gh0st

blackberry
08.05.2009, 22:21
Wo sollten denn Nachkommastellen herkommen?
3 ist nunmal 3.00000!

Wenn du dich aber um die Länge aufregst solltest du es mal mit %.2f versuchen (.2 = 2 Nachkommastellen).


EDIT:
uups... verlesen...
du benutzt beim Casten %d - die Zahl wird also immernoch als int interpretiert.
%f benutzen!

cyber_gh0st
09.05.2009, 08:07
ok hat geklappt danke für die Hilfe auch wenns n dummer Fehler war.