salve 
siccome ho scoperto che alcuni compilatori GCC , se si include math.h a inizio file, funzionano mentre altri no e siccome su quelli che funzionano ( ad esempio la versione 4 ) se metto -lm per forzare l' inclusione della libreria mi danno errore, ho deciso di evitare di perdere tempo con il GCC e di farmi a manina la funzione per elevare a potenza.
Quella che mi serve di fatto e' una potenza di interi, ovvero base intera unsigned e potenza intera unsigned, che ovviamente tornera' sempre e solo interi unsigned ... mi dite cosa ne pensate ?
grazie
codice:
#include <stdio.h>
/********************************/
/* Dichiarazione delle funzioni */
/********************************/
unsigned int potenza_interi(
unsigned int numero,
unsigned int potenza
); /* funzione per elevare a potenza di tipo intero
positivo o uguale a zero un numero anch' esso
di tipo intero e positivo o uguale a zero */
/******************************/
/* Definizione delle funzioni */
/******************************/
/* Definizione della funzione main */
int main(
int argc,
char *argv[]
)
{
printf("Risultato: %i", potenza_interi(4, 2));
/* fine funzione main */
return 0;
}
/* Definizione della funzione potenza_interi */
unsigned int potenza_interi(
unsigned int numero, /* Lavoro: numero da elevare a potenza */
unsigned int potenza /* Lavoro: valore della potenza */
)
{
/* dichiarazione delle variabili locali alla funzione */
unsigned int elevato = 1; /* Lavoro: numero da restituire
dopo l' elevazione a potenza */
/* ciclo di controllo per
moltiplicare N(potenza) volte il numero
solo se N e' diverso e maggiore di zero */
while(potenza != 0 && potenza-- > 0)
{
elevato *= numero;
}
/* fine funzione potenza_interi
ritorno l' elevazione a potenza */
return elevato;
}