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

  • что курят в китае

    "Но северный ветер - мой друг, Он хранит все, что скрыто" (с) БГ А вот в клинике доктора Изюмского... ой, то есть - в веб-интерфейсе майл.ру, уже…

  • НН

    Вчера немного погуляли по НН. Лениво загружать фотки куда-то кроме вконтакта, поэтому вот: https://vk.com/album69360943_281709494 (и да, там много…

  • каиниао консолидатед

    К предыдущему посту, о загадочных посылках из китая. Рождественской сказки от восточного дракона не случилось: загадочной "sensors" оказалась…

  • 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