• 締切済み

C言語の関数について教えてください。

#include <string.h> #include <stdio.h> //すべての文字を表示する関数の定義 void print_all_char(.....) { ..... } int main(void) { char astr[5]; char *pstr; strcpy(&astr[0], "ABCD"); //ポインタpstrが文字列"EFGHI"を指すようにする ..... puts("「配列で実現する文字列」を表示する"); puts(.....); puts("「配列で実現する文字列」のすべての文字を表示する"); print_all_char(.....); puts("「ポインタで実現する文字列」を表示する"); puts(.....); puts("「ポインタで実現する文字列」のすべての文字を表示する"); print_all_char(.....); return 0; } だいたいの流れをプログラムしました。 しかし、.....のところがわかりません。 他の部分にも誤りがあるかもしれませんが、教えてください。 よろしくお願いします。

みんなの回答

  • VOT
  • ベストアンサー率45% (11/24)
回答No.5

というか、どこかの学校の課題ですよね、これ。質問者の方は課題の内容が理解できていないように見受けられます。ちゃんと問題文とか読みましたか? > だいたいの流れをプログラムしました。 > しかし、.....のところがわかりません。 ..... のところが肝心なところで、ここまでだったら何もできてないも同然ですよ。「C言語の関数について教えてください。」というタイトルになってますが、この課題のポイントは配列とポインタの関係を理解することであって、関数化は主題ではないです。どうもずれてますね。 >//ポインタpstrが文字列"EFGHI"を指すようにする >..... ここがわからないのでは、話が始まりません。とりあえず以下にヒントを出しますので、後はご自分で考えてください。 ・「配列で実現する文字列」を表示するの「配列」とはastrのことです。 ・同様に「ポインタで実現する文字列」とはpstrのことです。 ・「すべての文字を表示する」とは、文字列を構成している各文字(char)を個別に表示するという意味でしょう。そういう機能を持った関数 print_all_char() を作成しろということです。 ・「ポインタpstrが文字列"EFGHI"を指すようにする」を正確に書けば「ポインタpstrが文字列リテラル "EFGHI"を指すようにする」になるはずです。(理解できなければ、これは無視してください)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.4

#3です。 >すべての文字を表示する関数print_all_char()の関数定義のことです。 話がかみ合わないですね。 「すべての文字」とは何でしょうか?とおたずねしています。 もしかして、「引数で渡された」すべての文字、ということですか? そういう制約なしに、「すべての文字」というと、 英字(大文字・小文字)、数字、ひらがな、カタカナ、漢字(いくつあることやら)、特殊文字、等々... の「すべて」ということになります。

cutebut
質問者

補足

多々申し訳ありません。 英字の大文字だけでいいです。 よろしくお願いします。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

#2です。 >>//すべての文字を表示する関数の定義 > >「すべての文字」の定義を示してください。 これはどうなっていますか?

cutebut
質問者

補足

説明不足で申し訳ありません。 すべての文字を表示する関数print_all_char()の関数定義のことです。 よろしくお願いします。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

>//すべての文字を表示する関数の定義 「すべての文字」の定義を示してください。 ところで、 >#1さん >ところで、puts()を使用する理由は? >printf()とかじゃダメなの? 何だかputs()だとダメであるかのように書かれていますが、 puts()でもprintf()でも、今回の場合本質的な違いはありませんよね。

cutebut
質問者

補足

puts()を利用してというのが条件のためputs()を利用して教えてもらえますか。 お願いします。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

http://okwave.jp/qa4645856.html も解決していないみたいだけど? ところで、puts()を使用する理由は? printf()とかじゃダメなの?

cutebut
質問者

補足

http://okwave.jp/qa4645856.htm については少しずつですが回答に近づいたプログラムができています。 puts()ではなくprintf()を利用したほうが簡単なんですか?​

関連するQ&A