Version: Test
©Raddy 2001

C-Lehrgang - IX                                       zurück

Einer Floatvariablen eine Integerkonstante zuweisen
a-absatz.pcx (280 Byte)

Beispiel

Auf dieser Seite geht es darum was passiert, wenn einer
Variable eine Konstante eines anderen Typs zugewiesen
wird. 

Nehmen wir an, wir haben eine float-Variable, und wollen
ihr eine Integer-Konstante zuweisen:

  float zahl;
  zahl = 40

Dann führt der C eine sogenannte Typwandlung durch,
d.h. die Integerkonstante 40 wird in eine Floatzahl 40.0 
verwandelt, und der Variable zugewiesen.  

Doch bei solchen Ausdrücken muß man vorsichtig sein,
wie der folgende Fall zeigt:
a-absatz.pcx (280 Byte)

Ausnahme

Wir weisen einer Floatvariablen (zahl) wieder eine Integerkonstante
zu, jedoch nehmen wir eine Integerkonstante (-3 Milliarden), 
die außerhalb des Integerbereichs liegt:

  float zahl;
  zahl = -3000000000

Im Gegensatz zu oben führt dies zu einer falschen Zuweisung, 
wie folgendes Testprogramm zeigt, daß die Variable Zahl
nach der Zuweisung anzeigt:
#include <stdio.h>
void main()
  {
  float zahl;
  zahl = -3000000000;
  print(%f \n\n", zahl);
  } 
a-absatz.pcx (280 Byte)

Abhilfe

Man kann das Problem aber lösen, indem man einfach hinter
die Integerzahl  .0  setzt. Dadurch wird die Integerzahl
zu einer Floatzahl, und danach der Floatvariablen zugewiesen:
#include <stdio.h>
void main()
  {
  float zahl;
 
zahl = -3000000000.0;
  print(%f \n\n", zahl);
  }