Oppure

Loading
21/03/12 16:52
torre92
Ciao,
sto facendo un esercizio per l'università che non capisco bene...

Scrivere una funzione che inserisce in un vettore 
un numero n (non fissato a priori) di valori e 
restituisce al main il puntatore al vettore creato. 
Richiamare la funzione dal main. 


Io l'avrei interpretato così ma non va, e penso che l'errore sia banalmente dovuto dal fatto che non posso passare un vettore tramite una funzione, sbaglio?

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

int nValori() {
	int n, i;
	int *vett;

	printf("Quanti valori vuoi inserire? ");
	scanf("%d", &n);

	vett = (int*)malloc(n*sizeof(int*));

	for(i=0;i<n;i++) {
		printf("Inserisci il valore %d:", i+1);
		scanf("%d", &vett[i]);
	}
	return *vett;
}

int main() {
	int *vett;

	vett = nValori(); 

	getchar();
	getchar();

}
aaa
21/03/12 17:07
ale.gatti96
Devi mettere l'asterisco per dire che la funzione restituisce un puntatore
int *nValori() {
  int *vett;
  ...
  return vett;
}
Ultima modifica effettuata da ale.gatti96 21/03/12 17:15
aaa