Was sind jetzt in diesem Fall die ausdrücke u_faktor und betrag?
u_faktor
und betrag
sind Variablen vom Typ Float. Wenn Du zuvor int
vor Deine Variablen gesetzt hast, hast Du dem Compiler damit mitgeteilt, dass Du an dieser Stelle eine Variable vom Typ Integer (Ganzzahl) definierst. Du kannst den Floats auch direkt Werte zuweisen:
float u_faktor = 3.14f
Für die Ausgabe mit printf
würde
printf("%f",u_faktor);
dann 3.140000
liefern. Mit printf
druckst Du formatierte Strings. Das %f
signalisiert, dass an dieser Stelle eine Float-Variable stehen muss! Diese fügst Du dann kommasepariert an. Dies funktioniert für endlich viele Variablen.
Mit dem %.2f kürzt es die sechs-Nachkommastellen auf zwei Nachkommastellen. Stimmt das?
Das stimmt. Allerdings nur in der Ausgabe! Intern wird dadurch nicht gerundet.
Hätte ich die standardmässigen 6 Nachkommastellen behalten wollen, hätte ich statt %.2f einfach %f geschrieben, oder?
Richtig. Du kannst Dir auch noch mehr Stellen ausgeben lassen (soweit es der Datentyp Float von der Größe her eben sinnvoll zulässt). So liefert z. B.
float u_faktor=1.0f/3.0f;
printf("%.20f",u_faktor);
die Ausgabe 0.33333334326744079590
, was natürlich mathematisch falsch ist!
Noch zwei Tipps:
1.) Verwende für die Main die Signatur int main()
. Dies entspricht dem Standard für Funktionsdefinitionen.
2.) Signalisiere am Ende der Main durch return 0
, dass das Programm fehlerfrei durchgelaufen ist. Wenn Du später mit Exception-Handling hantierst, kannst Du darüber z. B. Fehlercodes zurückgeben.