11

I have a codepad .

On line 15 inside a for function

 for(i=2; i<=90; i+=2){
    int j=0+i;
    printf("%i\n",i);
    power=pow(inp,j);
    factor=factorial(i);
    if(i%4==0)fAns += power/factor;
    else fAns -= power/factor;
  }

the line power=pow(inp,j); I added j instead of just using i because it gave me the same error. undefined reference to 'pow'.

If I replace j with 2, then it works just fine but when I use j=i it wont work. Is there a problem with incrementing this line?

I want this to increment and not throw me an error.

Mysticial
  • 464,885
  • 45
  • 335
  • 332
user1082764
  • 1,973
  • 9
  • 26
  • 40

1 Answers1

29

You need to link with the math library. With gcc, this would mean passing -lm during linking.

The reason it doesn't complain when you use 2 as the exponent value is because the compiler is optimizing the pow call out.

John Ledbetter
  • 13,557
  • 1
  • 61
  • 80