Ecco qua.. ho tolto la fflush(stdin) perchè non cambiava nulla..

codice:
#include <stdio.h>
#include <stdlib.h>

void potenza(int *p, int dim){
    int i;
    for(i=0; i<dim; i++){
        p[i]=p[i]*p[i];
    }
}

int main(){
    int *p, i, dim;

    printf("Inserisci la dimensione del vettore: ");
    scanf("%d", &dim);

    p=(int *)malloc(dim*sizeof(int));

    printf("Inserisci un numero:\n");
    for(i=0; i<dim; i++){
        scanf("%d ", (p+i));
    }

    potenza(p, dim);
    printf("Numeri elevati a potenza:\n");
    for(i=0; i<dim; i++){
        printf("%d ", *(p+i));
    }

    system("PAUSE");
}