Кресты / Говнокод #145 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
if( a < 10 ) cout << "a < 10";
else if( a > 10 ) cout << "a > 10";
else if( a == 10 ) cout << "a == 10";
else cout << "Сегодня совсем плохой день :(";

Совсем плохой день :(

Запостил: guest guest, (Updated )

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

  • абсолютно корректный код. тем, кто не согласен -- марш в институт и читать Макконела
    Ответить
  • страйко:
    раскройте?
    по-моему последний else никогда не выполнится и в этом говнокод? Или что-то не так?
    Ответить
  • Михалыч:
    ну последнее никада не выполнится, а в остальном нормальный код ))))
    Ответить
  • Дмитрий:
    Автор с чувством юмора 🙂
    Код корректен.
    По поводу последнего else
    а вдруг все-таки такой день настанет 🙂
    Ответить
    • Если оптимизатор компилятора не урежет это, то может произойти сбой памяти - просто заменится один бит в условном переходе.. ну дальше сами знаете -
      "Сегодня совсем плохой день :("

      Ведь не зря же есть ECC память..
      Ответить
  • Alexander G:
    #include <iostream>
    int main(int argc, char* argv[])
    {
      using std::cout;
      struct blackday {
        bool operator < (int) { return(0); }
        bool operator == (int) { return(0); }
        bool operator > (int) { return(0); }
      } a;
      if( a < 10 ) cout << "a < 10";
      else if( a > 10 ) cout << "a > 10";
      else if( a == 10 ) cout << "a == 10";
      else cout << "Сегодня совсем плохой день :(";
      return 0;
    }
    Ответить
  • Alexander G:
    Или более хардкорная версия
    #include <iostream>
    int main(int argc, char* argv[])
    {
      using std::cout;
    #define a 0&&0
      if( a < 10 ) cout << "a < 10";
      else if( a > 10 ) cout << "a > 10";
      else if( a == 10 ) cout << "a == 10";
      else cout << "Сегодня совсем плохой день :(";
      return 0;
    }
    Ответить
  • Сергеич:
    Более хардкорная версия сногсшибательна.
    Ответить
  • Alexander G:
    Ага. Но плохой день может быть ещё хуже:
    #include <iostream>
    int main(int argc, char* argv[])
    {
      using std::cout;
      struct really_bad_day
      {
        really_bad_day(std::ostream&){}
        void operator<<(char const*){}
      };
    #define else
    #define if(x) (really_bad_day)
      if( a < 10 ) cout << "a < 10";
      else if( a > 10 ) cout << "a > 10";
      else if( a == 10 ) cout << "a == 10";
      else cout << "Сегодня совсем плохой день :(";
      return 0;
    }
    Ответить
  • Звездочёт:
    Ну очень плохой день((( Вечный. Без вариантов.
    Ответить
  • лююююди, всё же проще. Напихали перегрузок =.=

    #include <iostream>
    #include <math.h>

    int main(int argc, char* argv[])
    {
    using namespace std;
    double a = 0./0.;
    if( a < 10 ) cout << "a < 10";
    else if( a > 10 ) cout << "a > 10";
    else if( a == 10 ) cout << "a == 10";
    else cout << "Сегодня совсем плохой день :(";
    return 0;
    }
    Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8