C言語について教えてください。
二次元配列でまとめられた「配列で実現する文字列」の文字と文字列を表示する関数を定義し、その関数の機能を確認するプログラムを作成する。
ただし、以下の例のように文字列の個数が変更されても処理できる関数を作成する。
また、文字列の文字の個数は最大9とする(一次元配列の要素数は10とする)
さらに、関数printf()をできるだけ用いない。
(1)二次元配列でまとめられたすべての文字列を「一度に」表示する関数を定義する
(2)二次元配列でまとめられたすべての文字列の文字を「一度に」表示する関数を定義する。このとき、前回の課題で定義した「すべての文字を表示する関数print_all_char()」を新しく定義する関数から呼び出して用いる。
(3)二次元配列に各文字列を格納してまとめるとき、初期化ではなく、配列の宣言・定義の後で、関数strcpy()を用いること(例では、初期化によりまとめている)
[例]
char astr[][10] =
{
"ABCD",
"EFGHIJ",
};
[実行結果の例]
すべての文字列の表示
ABCD
EFGHIJ
すべての文字列の文字の表示
A
B
C
D
E
F
G
H
I
J
[ヒント]
(1)二次元配列でまとめられた文字列の文字あるいは文字列を表示する関数<返却値型><関数名>(二次元配列の受け渡しに対応した仮引数の宣言、文字列の数)
(2)文字列の数を求める。二次元配列のすべての要素に文字列が格納されている場合、文字列の数=二次元配列の要素数(一次元配列の数)
=sizeof(astr)/sizeof(astr[0])
ただし、sizeof演算子の生成する型はsize_t型である。
この問題について教えてください。問題丸投げだとは分かっていますがどうしても分かりません。教えてください。ちなみに前回の課題の定義は下の通りです。
void print_all_char(char *chs)
{
while(*chs!='\0')
{
printf("%c\n",*chs);
chs++;
}
}
よろしくお願いします。
お礼
お返事まことにありがとうございます。 調べたいと思います。 ありがとうございます。