1. C++ / Говнокод #2736

    +59.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    m = 1;
    
    label:
    
    ...block1;
    
    if (m == 1)
    {
    	m++;
    	goto label;
    }
    else if (m == 2)
    {
    	m++;
    	...block2;
    	goto label;
    else
    {
    	...block3;
    }
    if (m == 3)
    	m = 1;
    else
    	m--;

    из реально работающей математической проги

    будет ли выполнено m--? ))

    Запостил: glook, 08 Марта 2010

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

    • Если в скипнутых блоках нет операций над m, то не будет. Будет =3 и сбросится в 0

      А ваще goto must die
      Ответить
      • в 1 оно сбросится.
        К теме goto: http://xkcd.com/292/
        Ответить
        • точно в 1, опечатался

          комикс зачетный)
          Ответить
          • В xkcd можно найти комикс почти под любую ситуацию из жизни.
            Ответить
      • "А ваще goto must die"

        часто встречаются случаи, когда без goto код выглядит монструозно, еле читаемо и с дополнительными флагами, только путающими как обезьяну, так и машину (лишние данные в стеке). А стоит только вставить гото, то всё становится на свои места.

        не надо тут. мастдай не goto, а отсутствие common sense
        Ответить
    • Гди тут С++?
      Ответить
    • Школота, бля.
      Ответить
    • Все правильно написано, оставлены запасные пути в случае непредвиденного.
      Ответить
      • Думаю дело было так. Наёбшись с монструозным кодом, было решенно применить гото. А будет, или нет выполнено - уже гадать влом. Единственный способ проверить - убрать в реально работающей проге " else
        m--; " И не хуй тут умничать - настоящий говнокод у фирмы 1с
        Ответить
        • И не хуй тут писать "не хуй", глупое дитя цивилизации.
          Ответить

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