- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ・構造体・並び替え)
C言語のポインタと構造体を使用してデータを並び替える方法
このQ&Aのポイント
- C言語のポインタと構造体を使用してデータを並び替えるプログラムを作成しましたが、正しくデータが表示されません。
- 「最高点の1005が一番上に来るが、それ以外が正しく表示されない」という問題が発生しています。
- どこを修正すれば正しくデータが表示されるようになるでしょうか?
- みんなの回答 (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はどこを指しているか分かりますか?
補足
構造体のsumの部分の値だと思います。