Erläuterung zu ganzzahligen konstanten Ausdrücken
Irgendwo habe ich gelesen, dass ganzzahlige konstante Ausdrücke aus ganzzahligen Konstanten bestehen, wie zum Beispiel:
(5 + 5) //integer constant expression
Das war das einzige Beispiel, das ich gesehen habe.
Nun, von Standard, der sagt:
(C99 6.6 / 6) Ein Ganzzahlkonstantenausdruck muss vom Typ Ganzzahl sein und darf nur Operanden enthalten, die Ganzzahlkonstanten, Aufzählungskonstanten, Zeichenkonstanten, die Größe von Ausdrücken, deren Ergebnisse Ganzzahlkonstanten sind, und Gleitkommakonstanten, die die unmittelbaren Operanden von Casts sind. Umwandlungsoperatoren in einem Ganzzahlkonstantenausdruck konvertieren nur arithmetische Typen in Ganzzahltypen, außer als Teil eines Operanden in die Größe des Operators.
Also, sind alle diese ganzzahligen Ausdrücke unten, wenn ich recht habe?
int i; float f = 3.14f;
i = 42;
i = f;
i = (int)(5/3.14f);