• ベストアンサー

C言語 ポインタの課題について

プログラミング初心者です プログラミングの課題でI 番目のポケモンを得る 関数get_pokemonを実装し返り値の値は*charとする という課題が出たのですが画像の通りに書いた結果 segmentation faultというエラー文が出てきました 良ければこのエラーが出てきた理由とどうすればちゃんと表示されるか教えてくれると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

次回はコピペ用に、文字でコードをお願いしますね。 関数プロトタイプが int (*func)(char *p[]) ですが、 使う実態が v[][MAX_LENGTH]; ですので、 func(v[i]); ->これは、v[MAX_LENGTH]つまり、char *飲みになってます。受け側のポインタ「配列」にはなっていないのです、 なので、 渡すとき、func(v,i)として 受け側は、 int (*func)(char *p[],int index) ですが、 とした方がいいでしょう。 基準ポインタがないためです。 または、受け側をchar *pとしてもよい

MAPILONN
質問者

お礼

アドバイスありがとうございます! 言われた通りにやってみたらしっかり実行できたしそれを元に理解することが出来ました! 次回からコピペ用に文字でコードを貼り付けます 質問してる側なのにわざわざコードを打たせるのは失礼でしたね…

すると、全ての回答が全文表示されます。

関連するQ&A