Опытным путём обнаружено, что объявленные массивы инициализируются нулями (строковые — пустыми строками), а переменные при первом к ним обращении также имеют нулевое/пустое значение. Можно ли исходить из того, что такая инициализация
гарантирована языком?
Опытным путём обнаружено, что если в IF указать вместо условия математическое выражение, то оно отрабатывает как «истина», когда не равно нулю (включая вещественные и комплексные значения!) и как «ложь», когда равно нулю. Что разумно, учитывая отсутствие логического типа данных. Можно ли считать это
официальной трактовкой сути условного оператора?
Интересно при этом, что вещи типа
не проходят. Хотя это могло бы быть полезным. Например:
Такая штука возвращала бы меньшее из двух различных чисел или ноль, если числа равны между собой. Я прекрасно понимаю муторность обработки таких ситуаций, конечно.
Можно для упрощения потребовать от программиста заключать «логико-арифметические» выражения в квадратные или фигурные скобки…