Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

Categories:

Си!

"2.3.1 Integer constants
An integer constant is a sequence of digits. An integer is taken to be octal if it begins with 0, decimal otherwise. The digits 8 and 9 have octal value 10 and 11 respectively".


Dennis M. Ritchie, "C Reference Manual",
https://www.bell-labs.com/usr/dmr/www/cman.pdf

В раннем Си в восьмеричных константах можно было использовать цифры 8 и 9! Чтобы можно было окончательно запутать программиста: кто ж догадается, что в выражении...
x = 0,018;
...не только "," не является десятичным разделителем, а является "оператором запятая", значением которого является второй операнд, но и 018 - не десятичное, а восьмеричное целое, равное десятичному 16.
Сейчас для подобного прикола приходится писать тривиальное x = 0,013;
Subscribe

  • облака и прохлада

    "Облачный кондиционер" - это типа я могу не ставить кондиционер дома, а удалённо пользоваться кондиционером в "облаке"? И если я не дома, а например…

  • Керженец - 2021

    Вернулся с Керженца (почти неделю как, просто руки до ЖЖ не доходили). - " Робинзоны" традиционно на высоте. На этот раз например плов на ужин был…

  • преемственность

    «При попытке редактировать рисунок paint из word97 напрочь виснет сократ» (позднефидошный прикол времён становления OLE) «При запуске Firefox на…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments