2015-03-11 3 views
-2

Почему эта программа не запускается?Проблемы с вызовом log()

#include<stdio.h> 
int main() 
{ 
    printf("%f\n", log(36.0)); 
    return 0; 
} 
+2

math.h и -lm? – user3528438

+0

Как вы пытаетесь и что не так, когда пытаетесь? –

+0

Вам нужно было '#include '. Прототипом журнала является 'double log (double arg);' и, поскольку вы его не включили, компилятор предполагает, что он возвращает значение 'int'. –

ответ

4

Вы должны включить

#include<math.h> 

Это потому, что math.h заголовочный файл стандартной библиотеки языка программирования C разработан для основных математических операций.

+3

И свяжите математическую библиотеку с '-lm' в качестве опции компилятора. – squiguy

+2

@squiguy фактически в этом случае как 'gcc', так и' clang' могут [использовать встроенные функции, если аргумент является постоянным выражением во многих случаях] (http://stackoverflow.com/a/24294632/1708801), но в общем вам нужно использовать '-lm'. –

Смежные вопросы