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

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

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
  • 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