• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ・構造体・並び替え)

C言語のポインタと構造体を使用してデータを並び替える方法

このQ&Aのポイント
  • C言語のポインタと構造体を使用してデータを並び替えるプログラムを作成しましたが、正しくデータが表示されません。
  • 「最高点の1005が一番上に来るが、それ以外が正しく表示されない」という問題が発生しています。
  • どこを修正すれば正しくデータが表示されるようになるでしょうか?

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

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

>構造体のsumの部分の値だと思います。 「指している」という表現が誤解を与えてしまったのかな? pの値が何なのかを聞いたつもりだったんですが。 C言語ではポインタは非常に重要な概念です。 作ったプログラムを見れば、ポインタを理解してるように思えますが、この返答ではあまり理解していないような。どっちなんだろう? 結論を言ってしまうと、 ・・・・・・ for(i=0;i<5;i++) { p=&st[i]; p->sum=get_sum(st[i]); } p=&st[0];         ← 追加 for(i=0;i<3;i++) { for(j=0;j<3-i;j++) { ・・・・・・ とすればいいはずです。(実行していないので確実とは言えませんが)

その他の回答 (1)

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

for(i=0;i<5;i++) { p=&st[i]; p->sum=get_sum(st[i]); } これが実行されたあと、ポインタpはどこを指しているか分かりますか?

noname#258949
質問者

補足

構造体のsumの部分の値だと思います。