Язык С

Анахронизмы


Так как язык "C" является развивающимся языком, в старых программах можно встретить некоторые устаревшие конструкции. Хотя большинство версий компилятора поддерживает такие анах- ронизмы, они в конце концов исчезнут, оставив за собой толь- ко проблемы переносимости. В ранних версиях "C" для проблем присваивания использо- валась форма =ON, а не ON=, приводя к двусмысленностям, ти- пичным примером которых является

X = -1

где X фактически уменьшается, поскольку операции = и - при- мыкают друг к другу, но что вполне могло рассматриваться и как присваивание -1 к X. Синтаксис инициализаторов изменился: раньше знак равенс- тва, с которого начинается инициализатор, отсутствовал, так что вместо

INT X = 1;

использовалось

INT X 1;

изменение было внесено из-за инициализации

INT F (1+2)

которая достаточно сильно напоминает определение функции, чтобы смутить компиляторы.



    Содержание раздела