C
1 2void insert(struct node *p, char x) { 3 struct node *n; 4 5 n = (struct node*)malloc(sizeof(struct node)); 6 7 n->element = x; 8 n->next = p->next; 9 p->next = n; 10
このコードで文字を追加(例:abc)すると返ってくる値がcbaとなってしまいます。例えば ./a.out abc としたとき abc と返ってきてほしいです。値の返し方はリストの先頭から順に返していくやり方です。リストの先頭に追加してしまっているのが原因だと思うんですが、リストの末尾に追加する方法がいまいちよくわかりません。insert内を変えたいのですがどう変えたら良いのかわかりません。アドバイスを頂ければ幸いです。
どこにどう返ってくる値なんでしょうか。
言ってることが意味不明です
初学者なのでわかりにくくなってしまい申し訳ありません。解答になっているのかわかりませんが、例えば ./a.out abc としたとき abc と返ってきてほしいのですが、このコードでは cba となって返ってきてしまいます。
えーと、提示されてるコードはコンパイルできませんし、実行することはできません。
本当にこのコードだけで実行ファイルを作ってるんでしょうか?
このコードは一部です。
なら全部提示しましょうよ
修正しました。
修正するのなら、ソースコードの前後に ```C と ``` を付けてください。
行が全部左詰めになっているのを何とも思わないのですか?
使い方がよくわかっていませんでした。すいません。
質問のコードを改変してはいけません。逆順に表示される元のコードがないと、質問の趣旨が伝わりません。コードを修正したかったら追記してください。そうでないと、後からこの質問と回答を見た人が何のことか理解できません。元に戻してください。
回答2件
あなたの回答
tips
プレビュー