Folgorato dal momentaneo successo ho deciso di applicare subito il nuovo giochino, ad esempio impiegandolo come funzione in un altro programma per provare anche ciò che mi hai detto a proposito dei return

Purtroppo c'è qualcosa che non va...

codice:
/* Calolo dei numeri perfetti da 1 a 1000 */ 

#include <stdio.h>

main() {

int k;

     for ( k = 2; k < 1000; k++ )        {

          if ( FATTORIZZAZIONE(k) )            /* = true */
                     printf ("Yep\n");
          else 
                     printf ("Sux\n");
                                   }                
    return 0;
       }
     
FATTORIZZAZIONE() {
        
 /* Funzione per la fattorizzazione di un numero con calcolo della somma dei fattori */
        
 int numero; 
 int i;
 int n_attuale;
 int totale = 0;        
  
 n_attuale = numero;
 
         for ( i = 2; n_attuale > 1;) {
                if ( ! ( n_attuale % i ) ) {
                  
                    n_attuale /= i; 
                    totale += i;
                       continue;
                }
                i ++;
 }
       
 if ( ( totale+1 ) == numero )  {
       
              printf ("%d e' perfetto!!!\n", numero);
                
       return 1;  
                                                 }           
 else 
       return 0;
                  
}
Quando hai un attimo gli dai un'occhiata?