Ciao,
sul libro "Il linguaggio C" dei Deitel compare il seguente codice
#include <stdio.h>
#include <math.h>
int
main(void) {
double principal = 1000.0;
double rate = .05;
printf("%4s%21s\n", "Year", "Amount on deposit");
for (unsigned int year = 1; year <= 10; year++) {
double amount = principal * pow(1.0 + rate, year);
printf("%4u%21.2f\n", year, amount);
}
return 0;
}
però usando il comando
gcc -lm -o fig04_06 -DDEBUG=9 -ansi -pedantic -Wall -g -std=c11 fig04_06.c
dà l'errore di compilazione
fig04_06.c:50: undefined reference to `pow'
collect2: error: ld returned 1 exit status
Se modifico l'istruzione interna al ciclo for nel modo seguente
double amount = principal * pow(1.0, year);
Allora il programma viene compilato, ma riporta di nuovo errore se metto 1.05 nel primo argomento anziché 1.0. Come mai?
Sto usando Ubuntu 20.04