p.s. visto che hai scomodato l'header <string.h>
ti conviene sfruttarlo. Utilizza la funzione "strlen()" al posto del ciclo while()
codice:
    printf("Indovina la password: ");

    while (1)
    {
        fgets(code, 50, stdin);

/*        
        while( 1 )
        {
            if( code[i] == '\n' )
            {
                code[i] = '\0';
                i = 0;
                break;    
            }
            i++;    
        }
*/            
  
        i = strlen(code) - 1;
        code[i] = '\0';