Wyjaśnienie na temat stałych wyrażonych w liczbach całkowitych
Gdzieś przeczytałem, że wyrażenia stałe w liczbach całkowitych składają się ze stałych całkowitych, takich jak:
(5 + 5) //integer constant expression
To był jedyny przykład, jaki widziałem.
Teraz ze standardu, który mówi:
(C99 6.6 / 6) Stałe wyrażenie całkowite ma typ całkowity i ma tylko operandy będące stałymi całkowitymi, stałe wyliczeniowe, stałe znakowe, wyrażenia sizeof, których wyniki są stałymi całkowitymi, i stałe zmienne, które są bezpośrednimi argumentami rzutów. Operatory rzutowania w wyrażeniu stałym liczby całkowitej przekształcają tylko typy arytmetyczne na typy całkowite, z wyjątkiem części operandu dla operatora sizeof.
Czy wszystkie te wyrażenia całkowite są poniżej, jeśli mam rację?
int i; float f = 3.14f;
i = 42;
i = f;
i = (int)(5/3.14f);