変数と計算2

変な式

前回で、計算の基本をやりました。
これで消費税の計算程度の簡単な計算はできるはずです。
#console
#include<vcrt71.sbp>

Dim value As Double
Dim tax As Double

value=3000
tax = 0.05

printf(Ex"税込み価格=%f\n" , value + value * tax)
これで3000に5%の税を足した3150が表示されます。

今回は変な式をやります。
以下のプログラムを見てください。
#console
#include<vcrt71.sbp>

Dim a As Long
Dim b As Long
Dim c As Long

a = 1
b = a + 5
c = a + b
printf(Ex"a=%d b=%d c=%d\n" , a , b , c)
これは問題ないでしょう。次のプログラムはどうでしょうか。
#console
#include<vcrt71.sbp>

Dim a As Long

a = 1
a = a + 2
a = a + 3
printf(Ex"a=%d\n" , a)
さてどうなるでしょうか。
答えはa=6です。
まずaに1が代入されます。
次にa=a+2でaに今のaつまり1に2を足した3が代入されます。
次のa=a+3でaにa(3)と3を足した6が代入されます。

プログラムの世界で=(等号)は、左辺と右辺が等しいという意味ではありません。右のものを左に代入します。
a=a+1のような式は数学ではおかしいですがプログラムでは非常によく使われます。