Вопрос по c – что такое 'неопределенная ссылка на `pow' '[дубликат]

9

This question already has an answer here:

Undefined reference to `pow' and `floor' 5 answers

у меня естьcodepad .

В строке 15 внутри для функции

<code> 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;
  }
</code>

линияpower=pow(inp,j); я добавилj вместо того, чтобы просто использоватьi потому что это дало мне ту же ошибку.undefined reference to 'pow'.

Если я заменюj с 2, то работает нормально, но когда я используюj=i это не сработает. Есть ли проблема с увеличением этой строки?

Я хочу, чтобы это увеличивалось, а не выдавало ошибку.

Gcc изменяет :) Видитеthis Deqing

Ваш Ответ

1   ответ
24

Вам нужно связаться с библиотекой математики. С gcc это будет означать прохождение-lm во время ссылки.

Причина, по которой он не жалуется при использовании2 в качестве значения экспоненты, потому что компилятор оптимизируетpow вызывать.

Error: User Rate Limit Exceededinp*inp
Error: User Rate Limit ExceededgccError: User Rate Limit Exceeded
Error: User Rate Limit ExceededgccError: User Rate Limit ExceededpowError: User Rate Limit Exceeded0.25Error: User Rate Limit Exceeded0.75Error: User Rate Limit ExceededsqrtError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы