1. Си / Говнокод #1318

    +133.4

    1. 1
    2. 2
    3. 3
    #include <math.h>
     
    result = (use_cos ? cos : sin)(M_PI);

    Прогрессивно.

    Запостил: guest, 03 Июля 2009

    Комментарии (5) RSS

    • без контекста неинтересно.
      Ответить
    • Как вариант:

      result = use_cos ? cos(M_PI) : sin(M_PI);
      Ответить
    • Косинус пи равен минус единице. Синус пи - нулю. К.О.
      result = (use_cos) ? -1 : 0;
      Ответить
    • to #3: нормальный компилятор так и сделает :)
      Ответить
    • Если бы не было константы, был бы очень интересный код, который не всякий программист сразу разберёт - выбор указателя на функцию. А так, при соответствующей оптимизации компилятора всё будет нормально.
      Ответить

    Добавить комментарий