#include <math.h>
#include <stdio.h>
/* dodajmo tole vrstico: */
extern double round(double x);
int main(void)
{
printf("%f, %f\n", 5.6, round(5.6));
return 0;
}
Lp, Nino
On 12/4/06, Miha Tomšič <[EMAIL PROTECTED]> wrote:
Hojla!
Imam en problem in kup težav.
Vzemimo test.c:
----------------
#include <math.h>
#include <stdio.h>
int main(void)
{
printf("%f, %f\n", 5.6, round(5.6));
return 0;
}
-----------------
[EMAIL PROTECTED] ~]$ gcc test.c -o test
test.c: In function 'main':
test.c:6: warning: incompatible implicit declaration of built-in
function 'round'
[EMAIL PROTECTED] ~]$ ./test
5.600000, 6.000000
Vse lepo in prav, če zanemarimo zgornje opozorilo. -lm ni potreben,
ker uporabi kar vgrajeno funkcijo round().
[EMAIL PROTECTED] ~]$ gcc test.c -o test -fno-builtin -lm
[EMAIL PROTECTED] ~]$ ./test
5.600000, 76941697922011962845100419780797605609472.000000
[EMAIL PROTECTED] ~]$ gcc --version
gcc (GCC) 4.1.1 20061011 (Red Hat 4.1.1-30)
---------------------
Saj mogoče sem jaz malo usekan, ampak zadeva je podobno bizarna tudi
na drugi mašini:
# gcc test.c -o test -lm
# ./test
5.600000, -0.000000
# gcc --version
2.95.4
A kdo vidi kje kakšno očitno napako? Problem se pojavlja še pri drugih
matematičnih funkcijah (recimo sqrt()).
Hvala in srečno, Miha
_______________________________________________
lugos-prog mailing list
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-prog
_______________________________________________
lugos-prog mailing list
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-prog