From:http://www.lampos.net/taxonomy/term/72
You are a beginner in C programming language (maybe 1st year student in a computer science department) and you want to meet a deadline for a programming assignment. The program specification is simple (because it is still the beginning) but there is something annoying happenning with your source code.
The course instructor has forced you to compile your C programs with all the appropriate flags enabled, e.g.
>> gcc program_name.c -ansi -pedantic -Wall -o program_name
Your program includes mathematical functions and as a result you have included math.h library and you have added -lm flag during compilation time:
>> gcc program_name.c -ansi -pedantic -Wall -lm -o program_name
Your final program should work (perfectly!) and after compilation NO warnings should appear. Otherwise, you lose points on your final mark! :-)
You have followed all the instructions, your program is working(!) BUT you still get an annoying warning, like:
implicit declaration of function abs
You try again and again, you 'google' this warning but there is no RESULT. Usually, the compiler is absolutely right and points to the right direction (in simple programs of course). So, there is an implicit declation of the 'abs' function (which returns the absolute value of a number). Something is missing. What? The following line (in most of the cases):
#include <stdlib.h>
You should include stdlib.h library as well. Don't forget that! That's it ... it should have helped you! -:)