第2章 C言語の基礎 ~ printf( ) と 変数について ~
さらに、いろいろな使い方をして見ましょう。 リスト3に、以下の記述を追加して下さい。
#include <stdio.h>
void main()
{
int val;
val = 5;
val = val + 1; (1)
val ++; (2)
}
一体何をしているのでしょうかね。
(1)の方は、元々 val に入っていた整数に、 1を足したものを再びval に入れるよう指示しています。
元々 val は5だったので、val には6が入ります。わかりましたか?
そして実は、
(2)は
(1)と同じ意味を持っているのです。 C言語を作った人は、かなり面倒臭がり屋だったのでしょう (C言語によく似ているPascal言語などには、++のような書き方はありません)。 (2)の方が、打ちこむ時に楽ですからね。
ということは、val は最終的に7になったということですね。
でも、本当にそうなんでしょうか? 上のプログラムを実行しても、 外からは全然見ることが出来ません。さっそく調べてみましょう。
変数の中身は、printf( ) を使って調べることが出来ます。リスト3を以下のように変更して見て下さい。
#include <stdio.h>
void main()
{
int val;
val = 5;
printf( "今、変数の中身は、%dです\n", val );
val = val + 1;
printf( "今、変数の中身は、%dです\n", val );
val ++;
printf( "今、変数の中身は、%dです\n", val );
}
さっそく、コンパイルして実行して見ましょう。 どうなりましたか? きっと、下のようになったと思います。
今、変数の中身は、5です
今、変数の中身は、6です
今、変数の中身は、7です
予想通りの結果でしたね。
ここで少しprintf( ) の補足説明をしておきましょ う。実行結果から判断しますと、どうやら%d
(注11) のところには、二つ目の引数であるval の中身が置き換わってくれているようですね。 つまり、printf という関数の場合、二つ目(以降)の引数は、一つ目の引数に対する補足説明の様なものですね。

-- 図5 --