Compile a program with GCC with this warning:
warning: control reaches end of non-void function
It means: control to the end of a non-void function. This means that some of your functions that should return a value may not return any value when they reach the end. At this point, it’s a good idea to check to see if each control flow has a return value.
For example, add: return 0;