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

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    bool P(int *X, int k, int y, int N) // Поиск позиции для ферзя
    {
      int i = 0;
      while ((i<k) && (y != X[i]) && (abs(k - i) != abs(y - X[i]))) { i++; }
      if (i == k)
        return true;
      else if (i != k)
        return false;
      else
        return !true && !false;
    }

    Часть задачи о восьми ферзях. Обнаружена на Тостере.
    Обратите внимание на цикл («обнаружен бой — стоп»), и на аналог return (i==k).

    Запостил: Mercury13, 12 Июня 2018

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

    • return !true && !false;

      Старый-престарый боян. Как и всё остальное.
      Ответить
      • > !true && !false
        Даже майкрософт юзает в GetMessage(), который возвращает BOOL: TRUE -- получили сообщение, FALSE -- получили quit, -1 -- произошла какая-то хуйня.
        Ответить
        • Да вообще тип BOOL в сях нинужен -- синоним int, а не логический тип.
          Ответить
          • Нужен для семантики.

            Лично мне приятнее виндовый подход, когда в доках: BOOL IsPetushok() чем никсовый int is_petuh
            Ответить
            • Какой же это буль, если он может принимать значения отличные от TRUE/FALSE.
              Ответить
            • и много виндовых методов ты видел, документация на которые больше объявления?
              Ответить
              • Примерно любая функция в win32API имеет огромную статью и кучу ремарок. Уж с чем с чем а с документацией по API у мелокмягких все хорошо
                Ответить
        • #define TRUE -1
          Кстати, если вместо 1 использовать -1, то побитовые операции будут эквивалентны логическим.
          Ответить
        • Так это ж ничоткая логика:
          1 -- истина
          0 -- ложь
          -1 -- "какая-то хуйня"
          Ответить
    • В тред приглашается PHPист или JavaScripter с комментарием "а у нас можно так: pitushok === true"
      Ответить
      • В тред приглашается старый дульфист с комментарием: "А у нас строгая типизация и тип boolean принимает всего 2 значения, поэтому вот такой хуй === нам не нужен".
        Ответить
      • В тред приглашается C++ист, питонист или Luaраст с комментарием "а у нас == делает произвольный код"
        Ответить

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