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

Category:
Наткнулся тут на программистский прикол.
Ну, что выдаст программа:

main()
{
 double x;
 x=(0,015);
 printf("%.1lf\n",x);
}


...я думаю все понимают - "13.0", никак не "0.015". Потому что запятая, и восьмеричное целое.
А кто-нибудь догадается, не засовывая в компилятор, где ошибка в нижеприведённом коде функции? Ошибка не в "логике работы" (допустим, мы уверены что указатели не могут быть NULL, и нам действительно зачем-то надо делить числа через одно место), а уровня "вообще не собирается":

double ptr_div(double *x, double *y)
{ return(*x/*y); }


Я не догадался, посмотрел в ответ (точнее сунул таки в компилятор). Ответ, чтобы не спойлерить - в комментарии :-)
Subscribe

Recent Posts from This Journal

  • Архивы канализации

    "Как только стало ясно, что от пандемии ковида спастись не удастся никому, а тестов катастрофически не хватает, многие страны с налаженной системой…

  • Си!

    "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…

  • Spar

    У меня в смартфоне есть приложение банка (в данном случае неважно какого) и приложение Spar, чтобы не носить с собой карточку, а показывать на кассе…

  • 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.
  • 9 comments