Three variables are defined for use in the program and the rest of the program is merely a series
of illustrations of various assignments. The first two lines of the assignment statements assign
numerical values to "a" and "b", and the next four lines illustrate the five basic arithmetic
functions and how to use them. The fifth is the modulo operator and gives the remainder if the
two variables were divided. It can only be applied to "int" or "char" type variables, and of course"int" extensions such as "long", "short", etc. Following these, there are two lines illustrating
how to combine some of the variables in some complex math expressions. All of the above
examples should require no comment except to say that none of the equations are meant to be
particularly useful except as illustrations.
The next two expressions are perfectly acceptable as given, but we will see later in this chapter
that there is another way to write these for more compact code.
This leaves us with the last two lines which may appear to you as being very strange. The C
compiler scans the assignment statement from right to left, (which may seem a bit odd since we
do not read that way), resulting in a very useful construct, namely the one given here. The
compiler finds the value 20, assigns it to "c", then continues to the left finding that the latest
result of a calculation should be assigned to "b". Thinking that the latest calculation resulted in
a 20, it assigns it to "b" also, and continues the leftward scan assigning the value 20 to "a" also.
This is a very useful construct when you are initializing a group of variables. The last statement
illustrates that it is possible to actually do some calculations to arrive at the value which will be
assigned to all three variables.
The program has no output, so compiling and executing this program will be very uninteresting.
Since you have already learned how to display some integer results using the "printf" function,
it would be to your advantage to add some output statements to this program to see if the various
statements do what you think they should do.
This would be a good time for a preliminary definition of a rule to be followed in C. The data
definitions are always given before any executable statements in any program block. This is
why the variables are defined first in this program and in any C program. If you try to define
a new variable after executing some statements, the compiler will issue an error.