The tradition for successfully exiting a command line program is to use return 0; or, as I write it, return(0);. Zero is the OK value, meaning a program exited cleanly. Other values returned represent specific conditions, not necessarily errors, but information that can be communicated to the operating system or some other program.
Continue reading
Author Archives: dgookin
The Element Doesn’t Exist
As a mid-level language, C has just as many positives as negatives with regards to accessing memory. One of the biggest negatives is C’s unflinching capability to access data that doesn’t exist.
Continue reading
Variable Length Arrays
The C99 standard added a feature to dimension an array on-the-fly. The official term is variable length array or VLA. And while you might think everyone would love it, they don’t.
Continue reading
The Wandering King – Solution
This month’s Exercise was inspired by a program I recall from years ago called The Drunk and the Lamppost. It’s not the classic joke, but an examination of random movements and probability.
Continue reading
Declaring a String Literal as a Pointer
The best way to declare a string literal in your code is to use array notation, like this:
char string[] = "I am some sort of interesting string.\n";
Continue reading
The Wandering King
The chessboard is empty. In the center is the king. He can move only one square at a time, but in any direction — or he can choose not to move at all. How many turns would it take him, moving randomly, to exit the chessboard?
Continue reading
Does the File Exist?
Many programs rely upon external files to store data. When the file is missing, or not where it should be, the fopen() function returns a NULL pointer, which your code can act upon. Or, you can pre-check for the file’s existence by using the access() function.
Continue reading
Ignoring Signals
Have you ever had your C code run amok and had to press Ctrl+C to cancel?
Yeah, I’ve never had that happen to me either.
Continue reading
I’m Outta Here
A specific command to terminate a program was popular with programming languages long ago. For example, in BASIC you had the END command, which exited a program. For unusual circumstances, you could use the STOP command. It was the abnormal termination command, which stopped the program and also generated a “Break in line” message (in GW Basic). I’m sure other early languages also had commands to bail out of a program, and modern languages are the same.
Continue reading
Fizz Buzz – Solution
The nifty thing about this month’s Exercise is that so many solutions are available. In fact, I found the challenge engaging because I kept trying to think of other ways to solve the puzzle.
Continue reading