Разъяснение по целочисленным константным выражениям
Где-то ямы читали, что целочисленные константные выражения состоят из целочисленных констант, таких как:
(5 + 5) //integer constant expression
Это был единственный пример, который я видел.
Теперь из стандарта, который говорит:
(C99 6.6 / 6) Выражение целочисленной константы должно иметь целочисленный тип и иметь только те операнды, которые являются целочисленными константами, константами перечисления, символьными константами, выражениями sizeof, результаты которых являются целочисленными константами, и плавающими константами, которые являются непосредственными операндами приведений. Операторы приведения в выражении с целочисленной константой должны преобразовывать только арифметические типы в целочисленные типы, кроме как в качестве части операнда к оператору sizeof.
Итак, все эти целочисленные выражения ниже, если я 'м правильно?
int i; float f = 3.14f;
i = 42;
i = f;
i = (int)(5/3.14f);