Salve il seguente programmino avrebbe l'intenzione di calcolare le potenze da 0 a 9 di un numero inserito dall'utente... purtroppo ho trovato un problema con l'uso del puntatore ad un array.
Se leggete un attimo il programmino (o anche se lo compilate qualcosa di strano dovrebbe saltare all'occhio) si può vedere che nella prima printf in cui viene usato il puntatore tutto funziona che è una meraviglia, invece nella printf all'interno del ciclo mi da dei valori strani... ma che ho combinato!
codice:
#include <stdio.h>
#define MAX_AR 10
int potenze(int);
int main(){
int i, n;
int *punt;
printf("Inserisci il numero di cui vuoi fare le potenze\t");
scanf("%d", &i);
punt=potenze(i);
printf("\nCome si nota qui funziona\t%d\n", *(punt+3));
printf("\nL'array e' costituita da:");
for(n=0; n<MAX_AR; n++)
{
printf("\nQui no...perche'?\t%d", *(punt+n));
}
return 0;
}
int potenze(int valore){
int array[MAX_AR];
int k, l, temp;
for(k=0; k<MAX_AR; k++){
temp=1;
if(k>0) for(l=0; l<k; l++)
{
temp=temp*valore;
}
array[k]=temp;
}
return array;
}