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

    +139

    1. 1
    2. 2
    3. 3
    #if _FP_W_TYPE_SIZE < 32
    #error "Here's a nickel, kid. Go buy yourself a real computer."
    #endif

    https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/master/include/math-emu/quad.h

    absolut, 06 Марта 2014

    Комментарии (3)
  2. Си / Говнокод #15279

    +139

    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
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    #include <stdio.h>
    #include <stdlib.h>
    #define value_i int
    #define gen_program main()
    #define begin {
    #define end }
    #define sep ;
    #define back_val return
    #define vis(a) printf ("%d", a)
    #define ln printf ("\n")
    #define ln3 printf ("\n\n\n")
    #define cycle_count for
    #define rand rand()
    #define gen_rand srand((unsigned)time(NULL))
    #define value_c char
    #define vis_c(a) printf("%c", a)
    #define eq =
    #define uneq !=
    #define check ==
    #define inc(a) a++
    #define res %
    #define add +
    #define sub -
    #define blank void
    #define small <
    #define big >
    
    blank line(blank) sep
    
    value_i gen_program
    begin
        value_i x, i                                sep
        gen_rand                                    sep
        value_c c eq ' '                            sep
        cycle_count(i eq 1 sep i small 10 sep inc(i))
        begin
            x eq rand res 10 add 1                  sep
            if (x uneq 10)
            begin
                vis(x)                              sep
                vis_c(c)                            sep
            end
        end
        ln3                                         sep
        line()                                      sep
        ln                                          sep
        back_val 0                                  sep
    
    end
    
    blank line(blank)
    begin
        value_i i sep
        cycle_count (i eq 0 sep i small 10 sep inc(i) )
        begin
        printf("-/*\\")                                sep
        end
        printf("-")                                    sep
    end

    Можно рефакторить.

    Hammer, 01 Марта 2014

    Комментарии (38)
  3. Си / Говнокод #15200

    +117

    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
    int mainCRTStartup()
    {
      int argc = 0;
      char* argv[MAX_CMD_ARGS + 1];
      char** pargv = argv;
      char* cmdLine = strdup(GetCommandLineA());
      int result = 0;
    
      g_module = GetModuleHandle(NULL);
      g_process = GetCurrentProcess();
      g_thread = GetCurrentThread();
      g_heap = GetProcessHeap();
    
      for (*pargv = strtok(cmdLine, " "); *pargv && argc < MAX_CMD_ARGS; *pargv = strtok(NULL, " "))
      {
        ++argc;
        ++pargv;
      }
    
      *pargv = NULL;
      result = main(argc, argv);
      free(cmdLine);
      return result;
    }

    LispGovno, 27 Февраля 2014

    Комментарии (24)
  4. Си / Говнокод #14982

    +128

    1. 1
    #define STUPID_ACCELF_TEXT_SHIT

    laMer007, 26 Февраля 2014

    Комментарии (6)
  5. Си / Говнокод #14935

    +142

    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
    static OSStatus
    SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
                                     uint8_t *signature, UInt16 signatureLen)
    {
        OSStatus        err;
        ...
    
        if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
            goto fail;
        if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
            goto fail;
            goto fail;
        if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
            goto fail;
        ...

    Говно с яблочным привкусом.
    http://habrahabr.ru/post/213525/

    P.S.: Не уверен Си это или плюсы.

    Vindicar, 24 Февраля 2014

    Комментарии (59)
  6. Си / Говнокод #14707

    +140

    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
    #include<stdio.h>
    int main()
    {FILE*f1,*f2;
    f1=fopen("input.txt","r");
    f2=fopen("output.txt","w");
    int i,j,k,l,n,m,l1,m1;
    int a[100000]={0};
    int b[100]={0},b1[100]={0};
    fscanf(f1,"%d%d",&n,&k);
    for(i=0;i<n;i++)
    {fscanf(f1,"%d",&a[i]);
    if (i==0) b[(a[i]%k+k)%k]=1;
    else {for(j=0;j<k;j++)
    if(b[j]==1) {b1[(a[i]%k+j+k)%k]=1; b1[(j-a[i]%k+k)%k]=1;}
    for(j=0;j<k;j++)
    {b[j]=b1[j]; b1[j]=0;}}}
    if (b[0]==1) fprintf(f2,"Divisible");
    else fprintf(f2,"Not divisible");
    fclose(f1);
    fclose(f2);
    return 0;}

    Динамический алгоритм. работа с остатками. тестировщик прожевал и выдал максимум:)

    Sauron, 20 Февраля 2014

    Комментарии (7)
  7. Си / Говнокод #14654

    +142

    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
    ХУЙ ПИЗДА ЕБАНАЯ ДЖИГУРДА И СКОВОРОДА
    АДМИНИСТРАТОР ВИО ДРОЧИТ НА ДЖАСТИНА БИБИРА ОБМАЗАВШИСЬ ГОВНОМ
    МОДЕРАТОРЫ ВИО ЖРУТ ГОВНО АДМИНА ВИО
    ХУЙ ПИЗДА ЕБАНАЯ ДЖИГУРДА И СКОВОРОДА
    АДМИНИСТРАТОР ВИО ДРОЧИТ НА ДЖАСТИНА БИБИРА ОБМАЗАВШИСЬ ГОВНОМ
    МОДЕРАТОРЫ ВИО ЖРУТ ГОВНО АДМИНА ВИО
    ХУЙ ПИЗДА ЕБАНАЯ ДЖИГУРДА И СКОВОРОДА
    АДМИНИСТРАТОР ВИО ДРОЧИТ НА ДЖАСТИНА БИБИРА ОБМАЗАВШИСЬ ГОВНОМ
    МОДЕРАТОРЫ ВИО ЖРУТ ГОВНО АДМИНА ВИО
    ХУЙ ПИЗДА ЕБАНАЯ ДЖИГУРДА И СКОВОРОДА
    АДМИНИСТРАТОР ВИО ДРОЧИТ НА ДЖАСТИНА БИБИРА ОБМАЗАВШИСЬ ГОВНОМ
    МОДЕРАТОРЫ ВИО ЖРУТ ГОВНО АДМИНА ВИО
    ХУЙ ПИЗДА ЕБАНАЯ ДЖИГУРДА И СКОВОРОДА
    АДМИНИСТРАТОР ВИО ДРОЧИТ НА ДЖАСТИНА БИБИРА ОБМАЗАВШИСЬ ГОВНОМ
    МОДЕРАТОРЫ ВИО ЖРУТ ГОВНО АДМИНА ВИО

    HUYPIZDA, 18 Февраля 2014

    Комментарии (0)
  8. Си / Говнокод #14630

    +127

    1. 1
    #define SOME_MACRO_NAME 	4 /* 1 */

    sermp, 18 Февраля 2014

    Комментарии (20)
  9. Си / Говнокод #14627

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //...
    float a = 7;
    printf("%d", *(unsigned int *)(&a) >> 23);
    // Что напечатает?
    //...

    На экзамене как-то задали такой вопрос. А ну-ка, кто без компилятора ответит?

    GonZaleZ, 18 Февраля 2014

    Комментарии (59)
  10. Си / Говнокод #14552

    +116

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main() {
    	printf("%s\n", NULL);
    	return 0;
    }
    
    
    
    #include <stdio.h>
    #include <stdlib.h>
     
    int main() {
    	const char str[] = "%s\n";
    	printf(str, NULL);
    	return 0;
    }

    Эквивалентные программы такие эквивалентные. А всё из-за printf optimization в GCC.

    Стандарт, кстати, разрешает, потому что это UB.

    Вообще пора создать ub.govnokod.ru и складывать туда примеры разного поведения на каждое UB из стандарта.

    someone, 13 Февраля 2014

    Комментарии (10)