1. #include <stdio.h>
2. int main()
4. int sum_till_now;
6. sum_till_now = 1 + 2;
7. sum_till_now = sum_till_now + 3;
8. sum_till_now = sum_till_now + 4;
9. sum_till_now = sum_till_now + 5;
10. sum_till_now = sum_till_now + 6;
11. sum_till_now = sum_till_now + 7;
12. sum_till_now = sum_till_now + 8;
13. sum_till_now = sum_till_now + 9;
14. sum_till_now = sum_till_now + 10;
16. printf(¨The result is %d\n¨, sum_till_now);
Let's understand the logic.
We shall not dig into the syntax, or grammar of C, and just try to understand the logic.
A program is executed step by step, from top to bottom.
Statement number 4 is similar to your drawing a box named sum_till_now in rough pad. Computer uses its internal memory as its rough pad. sum_till_now is called a variable. Similar to a box in your rough pad, a variable can hold a value.
See statement 6. It is called an assignment statement. ¨=¨ is called the assignment operator. When an assignment statement is executed, whatever is in the right side of ¨=¨ is evaluated and put into the variable in the left side. That means, after executing statement 6, the value of sum_till_now becomes 3.
Statement 6 can be read as ¨1 + 2 is assigned to sum_till_now.¨ Never confuse ¨=¨ with the equality operator as in common mathematics. Both are different.
Statement 7 is also an assignment statement. Evaluating the right side (i. e. sum_till_now + 3) results in 6 (remember that sum_till_now is now holding 3). So, 6 is assigned to the left side, i. e. sum_till_now.
Hence, after execution of statement 7, sum_till_now holds 6.
Carrying on, after execution of statement 14, sum_till_now holds 55, which is the desired output.
Done. But the program seems long. What if the problem were to add from 1 till 10000!