ciao...
a me il codice sembra corretto! eppure:
codice:
#include <stdio.h>
#include <unistd.h>
#include <time.h>
void scambia(int*,int*);
void crea_array(int *,int);
void riempi_array(int *,int);
void stampa_array(int *,int);
int main(){
int *vett;
int dim;
printf("dimensione array?\n");
scanf("%i",&dim);
crea_array(vett,dim);
riempi_array(vett,dim);
stampa_array(vett,dim);
return 0;
}
void scambia(int* a,int* b){
int *temp;
temp=a;
a=b;
b=temp;
}
void crea_array(int *a,int n){
a=(int *)malloc(sizeof (int)*n);
}
void riempi_array(int *a, int n){
int i=0;
int seme=time(NULL);
srand(seme);
for(i=0;i<n;i++){
a[i]=rand()%100;
}
}
void stampa_array(int *a,int n){
int i=0;
for(i=0;i<n;i++){
printf("valore elemento %i=\n",i);
}
}
output del programma:
dimensione array?
10
valore elemento 0=
valore elemento 1=
valore elemento 2=
valore elemento 3=
valore elemento 4=
valore elemento 5=
valore elemento 6=
valore elemento 7=
valore elemento 8=
valore elemento 9=
Segmentation fault
??? perchè?