Дмитрий Радищев (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

  • мы все под колпаком у колобков!

    Сегодня я узнал, что "шефа" (старшего Колобка в м/ф "следствие ведут Колобки") озвучивал Леонид Броневой - ну то есть Мюллер из "семнадцати мгновений…

  • трейдеры!

    Есть кое-что, что меня больше всего умиляет в текущей ситуации с ценами на газ в Европе (кто не в курсе - не так давно они выросли в несколько раз, и…

  • Дженнди

    Читаю Лема, про Аффидавита Донду - " имя Аффидавид он носит уже шесть лет, с тех пор как, покидая Турцию, написал требуемый властями аффидевит и…

  • 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