Форум «Всё о Паскале» _ Ада и другие языки _ использования sqrt
Автор: compiler 11.05.2008 19:06
Добрый день! Вот вернулся к изучению Си, да возникают проблемы( Почему не компилируется программа?
#include <stdio.h> #include <math.h> int main(void){ int i = 169, j = 168; printf( "sqrt(%d)=%d, sqrt(%d)=%d", i, (int)sqrt((double)i), j, (int)sqrt((double)j) ); return 0; }
лог:
Код
compiler@hope:~/helloworld$ gcc a.c /tmp/ccEdG7FC.o: In function `main': a.c:(.text+0x41): undefined reference to `sqrt' a.c:(.text+0x6b): undefined reference to `sqrt' collect2: выполнение ld завершилось с кодом возврата 1
мда.. надо будет возвращаться к использованию какой-нибудь IDE.. зы хотя интересно, выражение printf("%d\n",sqrt(9.0)); компилируется без подключения math, правда с предупреждением... и printf("%d\n",M_PI); без прилинковки откомпилируется без предупреждений.. правда, все они будут работать не корректно.. но будут.. где можно прочитать про эти "феномены" подробней?