-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Learn C Programming
By :

Now that we have gotten our basic program to work (woo-hoo!), we can turn our attention to learning how to intentionally break it (ouch!). This is so that we can learn more about what the compiler is trying to tell us. What it is telling us isn't always clear, especially while we are learning.
Once you have mastered the language, there would be little need to do this (yay!). However, while we are learning the language, becoming familiar with the various kinds of compiler error messages is essential and, ultimately, will save us many hours/weeks of debugging, which might have been prevented early on in the iterative program development cycle. Please do not skip this essential step as you learn C as it will save you many hours/weeks.
So, using the full program development cycle outlined earlier, inject the following errors into your source file. When you see the error messages, try to correlate them with what you just did to cause them. After each one, correct the error and recompile it to verify the fix:
{
from hello2.c
. Save it and compile it. What errors does the compiler give?{
back in its appropriate place and remove }
. What errors does the compiler give?<>
and ()
, which occur twice, and ""
. What errors does the compiler give when you remove the opening of the pair and the closing of the pair? Put them back after each experiment.;
from either line. What error messages does the compiler give?return 0;
line. What error messages does the compiler give?int main()
to int MAIN()
. What does the compiler tell you?printf(
to printout(
. With this error, you should be able to see what linker messages look like.#include <stdio.h>
. You should also see linker errors telling you they can't find the printf()
function.hello2.c
to its original state. Compile, run, and verify the program is both correct and complete.If you get more than 23,000 lines of error messages from the compiler, I would really like to know. Please email me with the details of your experiments.