第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 –
-
IS 559680 / ISO27001
認証範囲 本社、芝大門オフィス情報セキュリティ基本方針 -
個人情報保護方針
個人情報の取扱いについて
保有個人データ又は
第三者提供記録に関する
事項の周知について
特定個人情報の取扱いについて -
FS 671851 / ISO9001
認証範囲 本社、芝大門オフィス品質方針