Ciao a tutti,
sto svolgendo un'esercizio :"Scrivete una funzione con prototipo int *smallest( int a[], int n ) che, dato un array a di lunghezza n, restituisca
un puntatore all’elemento più piccolo dell’array."
ecco il codice che ho scritto:
#include <stdio.h>
#define N 10
int *smallest (int a[], int n) {
int *p = &a[0];
int i;
for (i = 0; i < n; i++) {
if (a[i] < *p)
*p = a[i];
}
return p;
}
int main (void) {
int a[N], *p, i;
printf("^^^^*****Questo programma restituisce il più piccolo elemento di un array*****^^^^\n\n");
printf("Inserire 10 numeri: ");
for (i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
*p = *smallest(a, N);
printf("Il più piccolo valore dell'array è: %d", *p);
}
in compilazione mi da il seguente errore:
^^^^*****Questo programma restituisce il pi� piccolo elemento di un array*****^^^^
Inserire 10 numeri: 1
2
3
4
5
6
7
8
9
10
Segmentation fault
Cosa significa?![]()

Rispondi quotando