Can someone please explain me what debugging a program exactly means? and how to do it? I read articles where it says you write something like this --- $ cc program.c then $ a.out. What these mean? and where to write these commands? I'd be so thankful if someone took time to explain this to me.