[C]radice quadrata

frab1
Qualcuno riesce a spiegarmi perchè il seguente sorgente non mi calcola la radice quadrata?
L'errore restituito dal terminale è:

/tmp/ccz1D6fm.o: In function `main':
es8.c:(.text+0x4c): undefined reference to `sqrt'
collect2: ld returned 1 exit status

come se non ci fosse la libreria math.h... :?: :!: :?: :roll:

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

int main(void)
{	
	float N;
	int sum=0;
	float radice;
	do {
		printf("Inserire valore intero N:\n");
		scanf("%f",&N);
		radice=sqrt(N);
		sum=radice+sum;
	} while(N>0);
	printf("La somma vale %d\n",sum);

}

Risposte
apatriarca
Come hai compilato il codice?

frab1
cosi:

"gcc es9.c -o es9"

e poi lo "lancio" con: ./es9

apatriarca
Aggiungi l'opzione "-lm" alla riga in cui compili il tuo codice. È necessaria quando si usa gcc per usare le librerie matematiche. In altri compilatore non è necessario.

frab1
dove la aggiungo?
cosi:
gcc es9.c -o es9 -lm

?

apatriarca

frab1
risolto! grazie!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.