Ausgabe einer Anweisung in C Sprache?

... komplette Frage anzeigen

4 Antworten

13/5

Das ist eine Integerdivision, was bedeutet, dass das Ergebnis als ganze Zahl interpretiert wird und alle Nachkommastellen abgeschnitten werden. 13/5 ergibt also hier 2. Dies kommt daher, weil beide Zahlen, sowohl Dividend als auch Divisor, Integer sind. Wandle mindestens eine der beiden in eine Fliesskommazahl um, dann sollte es gehen.

Antwort bewerten Vielen Dank für Deine Bewertung

Damit Du auch weißt, wie das geht:

float value = 13.0/5 + 0.4; // alternativ float value = ((float)13)/5 + 0.4;

printf("%.1f\\n", value);

Antwort bewerten Vielen Dank für Deine Bewertung

13/5 wird als Integerdivision ausgeführt, weil beide Werte nur integer sind. Das Ergebnis dieser Operation ist damit 2. Dann addierst du noch 0.4 drauf (0.4 ist eine Gleitkommazahl, d.h. wird erst an dieser Stelle auch der Int gecastet)

Antwort bewerten Vielen Dank für Deine Bewertung

13/5 ist 2, da es als Integer interetiert werden. Entweder castest du die 13 in ein Float oder du machst da eine 13.0 draus

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?