下のような問題の時にはどうすればよいでしょうか?<問題>実行結果が次のようになるプログラムをつくりなさい。letters.ただし、単語数の上限は30、一単語の最大文字数は20と仮定する。文章入力にはgets関数を使用する。ブラケット演算子なしでポインタだけで書く。13年前シンゴさんの投稿をみていらっしゃるのでしたらkeichanさんの投稿もみていらっしゃいますか?それでしたらkeichanさんのプログラムを少しいじれば出来ると思います。普通に関数化したいだけですよね?関数化するとこうなるんじゃないでしょうか。13年前strtokは、とても便利な関数です。);//読み取る文字列はstr。0;}こちらにサンプルを書いておりますので、実際にコンパイルしてみてください。"8,6,7,9,2",*tp;ここでstrにこのように代入しています。);//読み取る文字列はstr。区切るのは「,」strtokはポインタが返るので、tpにポインタを格納します。この文字列情報があるアドレスだと思ってください。具体的には最初、str[0]のアドレスが入ります。);次にこの処理をすると、tpから次に,があるまでの区間を文字列としてくれます。それは次にある,が\0に変わるのです。文字列はtpから\0までを示しますから、str[0]から次の,までが文字列となります。この時点でtpと示すと8になります。一回呼ぶと、tpは進みます。tpが示すアドレスは次には先ほど,があった一つ先のところにつまりstr[2]のアドレスへ移動します。);を呼ぶと、その次の,までを文字列とします。\0に変換してかえしてくれるので、str[2]からstr[3]までを文字列としてくれます。このとき、tpと示すと、6となるわけです。sにはその区切られた文字が個別にはいるので、printf文でこのように表示されるわけですね。13年前ありがとうございます。