演習課題「じゃんけんプログラムをつくろう」
右のコードエリアには「じゃんけん」をするプログラムがあります。
コード中にあるコメントを参考にして、このコードを完成させてください。
じゃんけんの手は「グー」、「チョキ」、「パー」のいずれかをランダムに入力された回数だけ出力するようにします。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
グー
チョキ
グー
パー
チョキ
(ランダムに出力される)
#06:ポインタの配列を理解しよう
ポインタの配列について学習します。ポインタの配列をつかって、RPGの戦闘シーンのようなメッセージを表示するプログラムを作成します。
文字列の初期化にはダブルクォート ( " " ) を使います。#include <stdio.h>
int main(void)
{
char slime[] = "スライム";
printf("%s\n", slime);
}
※文字列には、上のように日本語を指定することもできます。日本語を指定すると、1 文字で複数文字分の領域が使われます。
そのため、上のコードで宣言された slime 配列の大きさは、実際の文字数の 4 よりも大きくなっています。
ヌルポインタは、何も指し示していないことを表すために使われる特別なポインタです。
プログラムの中では NULL と記述されます。
NULL は、たとえば以下のような意味で使われます。
・関数の引数に使って、「引数として何も指定しない」ということを表すとき
・あるデータ構造の最後の要素に使って、「次の要素がない」ことを表すとき
・ポインタを返す関数に返り値として使って、「処理が失敗した」ことを表すとき
このチャプターで作成したコードです。// ポインタの配列を理解しよう
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
char slime[] = "スライム";
char dragon[] = "ドラゴン";
char satan[] = "魔王";
char *enemies[3];
enemies[0] = slime;
enemies[1] = dragon;
enemies[2] = satan;
srand((unsigned int)time(NULL));
int target = rand() % 3;
printf("%sに会心の一撃! モンスターを倒した!\n", enemies[target]);
}
- IT 専科 - C 言語入門 ポインタ
http://www.itsenka.com/contents/development/c/pointer.html
- 初心者のためのポイント学習 C 言語 - ポインタ
http://www9.plala.or.jp/sgwr-t/c/sec10.html
- 初心者のためのポイント学習 C 言語 - srand
http://www9.plala.or.jp/sgwr-t/lib/srand.html