おったら質問したいんやが
2:なんJゴッドがお送りします2021/05/21(金) 06:00:13.92ID:dfegXl1yd
なんや
3:なんJゴッドがお送りします2021/05/21(金) 06:00:29.07ID:uxwf8NvIM
簡潔に頼むよ
5:なんJゴッドがお送りします2021/05/21(金) 06:00:37.35ID:7D3OxykEM
かんや
6:なんJゴッドがお送りします2021/05/21(金) 06:00:47.04ID:0qUYOF+h0
で無事に
7:なんJゴッドがお送りします2021/05/21(金) 06:01:19.49ID:nt409E5U0
てんや
9:なんJゴッドがお送りします2021/05/21(金) 06:02:20.57ID:RHmSkr7r0
再帰だな
10:なんJゴッドがお送りします2021/05/21(金) 06:02:33.63ID:A6gkiMCRd
ンゴ
11:なんJゴッドがお送りします2021/05/21(金) 06:03:30.48ID:uxwf8NvIM
ポインタ一個ずつ進めてるから
最後に呼び出した関数から先に表示されるから
13:なんJゴッドがお送りします2021/05/21(金) 06:04:53.09ID:A6gkiMCRd
これはポインタってやつなんか
授業では今のところそんなのやってないんやが
14:なんJゴッドがお送りします2021/05/21(金) 06:05:00.50ID:Z1po2FdH0
C言語マスターのワイが来たからもう安心や
15:なんJゴッドがお送りします2021/05/21(金) 06:05:47.71ID:nt409E5U0
stoneが”,,,,,”のときにstone +1は”,,,,”になって、これをupに渡す
20:なんJゴッドがお送りします2021/05/21(金) 06:07:24.10ID:A6gkiMCRd
>>15
最終的に””がupに渡されて stone=“”やから何もせずに終わるじゃないんか?
17:なんJゴッドがお送りします2021/05/21(金) 06:06:36.96ID:ZyAF6xyur
帰りがけに表示してるから
18:なんJゴッドがお送りします2021/05/21(金) 06:07:06.99ID:NI6C6kRDp
頭の中でステップ実行しろ
19:なんJゴッドがお送りします2021/05/21(金) 06:07:17.00ID:RHmSkr7r0
なんでdownが理解できてupが理解できんねん
ほとんど一緒やないか
それはそれとしてstrcmp(stone,””)は気持ち悪いな。strlen(stone)==0の方が自然だろ
21:なんJゴッドがお送りします2021/05/21(金) 06:08:29.72ID:A6gkiMCRd
>>19
すまンゴ、この書き方しか習ってないんや
学校の課題なんや
23:なんJゴッドがお送りします2021/05/21(金) 06:08:33.00ID:3uM3Q+Zwr
>>19
それよりも*stone==’\0’やろ
24:なんJゴッドがお送りします2021/05/21(金) 06:08:34.04ID:NI6C6kRDp
>>19
なんとなく処理遅くなりそう
35:なんJゴッドがお送りします2021/05/21(金) 06:15:53.61ID:YqKjVuJvM
>>19
わかる
25:なんJゴッドがお送りします2021/05/21(金) 06:09:17.24ID:vSulGX+u0
プログラマー多すぎやろ
26:なんJゴッドがお送りします2021/05/21(金) 06:09:56.46ID:Is9f6zG30
普通strcmpそこで使うか?
31:なんJゴッドがお送りします2021/05/21(金) 06:14:06.77ID:iKx9ASY10
ifの空ブロックが気になる…
32:なんJゴッドがお送りします2021/05/21(金) 06:14:15.01ID:mEJege88a
プログラマーって頭ええんやな
33:なんJゴッドがお送りします2021/05/21(金) 06:15:12.06ID:A6gkiMCRd
わからんンゴ…
34:なんJゴッドがお送りします2021/05/21(金) 06:15:29.20ID:Z1po2FdH0
実行順としては
up(*****)の中でup(****)の中でup(****)の中でup(***)の中でup(**)の中でup(*)の中で
( !strcmp( stone, “”) ) かtrueになって処理が返って来て、初めてprintfが実行されるわけや
48:なんJゴッドがお送りします2021/05/21(金) 06:21:29.35ID:A6gkiMCRd
>>34
そこまではなんとなくわかったような気がするけどそっから*が増えていくのがわからん
36:なんJゴッドがお送りします2021/05/21(金) 06:16:08.82ID:lVQtLnJ50
これ応用して以前ぷよぷよの判定アルゴリズム作ったわ
再帰知らんかったから自分のこと天才だと思ってた
37:なんJゴッドがお送りします2021/05/21(金) 06:16:24.13ID:Is9f6zG30
ポインタが分かってないならこんな課題出んやろ
C言語の文字列について調べてみろ
41:なんJゴッドがお送りします2021/05/21(金) 06:20:34.37ID:hBAPFr7Rd
なんで+1すると文字が一個減るのかわからん
アドレスに+1したんだよね?
47:なんJゴッドがお送りします2021/05/21(金) 06:21:19.17ID:nt409E5U0
>>41
始まりが一こうしろになるか
53:なんJゴッドがお送りします2021/05/21(金) 06:23:28.06ID:Is9f6zG30
>>41
データ型の大きさ1つ分だけ増やすんやで
例えばint型の配列a[]があったとしてa+3したらint型3個分アドレスが足されてa[3]を表す
42:なんJゴッドがお送りします2021/05/21(金) 06:20:36.69ID:yVnV1jFN0
ワイプログラマー、わからない
43:なんJゴッドがお送りします2021/05/21(金) 06:20:44.25ID:YqKjVuJvM
再起APIとかがすこすこすぎて全然使う機会ないわ
高次関数もあんまりない
51:なんJゴッドがお送りします2021/05/21(金) 06:22:46.51ID:gWiulsz8r
>>43
言いたいのは多分高階関数やろ
45:なんJゴッドがお送りします2021/05/21(金) 06:21:12.56ID:Z1po2FdH0
main
↓
up ( stone + 1 ) つまり up(****) が呼ばれる
↓
up ( stone + 1 ) つまり up(***) が呼ばれる
↓
up ( stone + 1 ) つまり up(**) が呼ばれる
↓
up ( stone + 1 ) つまり up(*) が呼ばれる
↓
( !strcmp( stone, “”) ) がtrueになって処理が帰ってくる
↓
up ( stone + 1 ) つまり up(*) の続きprintf(*)が実行される。処理を返す
↓
up ( stone + 1 ) つまり up(**) の続きprintf(**)が実行される。処理を返す
↓
以下最初の処理まで同じ
54:なんJゴッドがお送りします2021/05/21(金) 06:23:41.16ID:34YVC4uT0
>>45
わかりやすい
46:なんJゴッドがお送りします2021/05/21(金) 06:21:13.06ID:e40UZzqB0
そのコード懐かしいな高校生か?
52:なんJゴッドがお送りします2021/05/21(金) 06:23:01.28ID:RHmSkr7r0
デバッガで動かすとわかりやすいよ
関数から元のスコープに戻るのが見られるんで
59:なんJゴッドがお送りします2021/05/21(金) 06:24:54.67ID:nt409E5U0
もっと簡単な例からやったほうがあえんちゃうか
66:なんJゴッドがお送りします2021/05/21(金) 06:27:38.63ID:RHmSkr7r0
>>59
さすがにいきなりこれからじゃないやろ
基礎がまずあってからの再帰のシンプルな例なんかと
64:なんJゴッドがお送りします2021/05/21(金) 06:26:32.75ID:Is9f6zG30
ちなみにどこの大学(高校)なん?
65:なんJゴッドがお送りします2021/05/21(金) 06:26:53.81ID:Z1po2FdH0
>>64
こんな難しいの東大やろ
67:なんJゴッドがお送りします2021/05/21(金) 06:27:45.22ID:YqKjVuJvM
これは教養レベルのCちゃうの?
少なくなともワイの記憶ではそうやったけど
70:なんJゴッドがお送りします2021/05/21(金) 06:28:39.95ID:+nnezT/ZM
gdb繋いで一行ずつ見ろ
74:なんJゴッドがお送りします2021/05/21(金) 06:28:55.70ID:vSulGX+u0
今会社の研修でCやらされてるけど1個もわからんわ
83:なんJゴッドがお送りします2021/05/21(金) 06:31:37.39ID:Y6WSRT1bM
>>74
実装の基本やからしゃーない
もはやRust優勢で時代遅れ感するけど
でも最近cosmopolitan libcとかいうJava環境みたいなの流行ってきてるから再興するかもね
77:なんJゴッドがお送りします2021/05/21(金) 06:29:28.57ID:A6gkiMCRd
ワイは情報系じゃないから必修ではないけど選択科目にプログラミングの授業があったから取ってみたンゴ
80:なんJゴッドがお送りします2021/05/21(金) 06:31:11.98ID:Is9f6zG30
答えるやつめっちゃ多くて草
82:なんJゴッドがお送りします2021/05/21(金) 06:31:36.15ID:GKn4kISf0
なあなんで未だに学校ってC言語なんかやるんだ?
今更C言語とか誰に需要があるんだ
91:なんJゴッドがお送りします2021/05/21(金) 06:36:10.91ID:Z1po2FdH0
>>82
メモリや言語の根幹に触れるからスキルというより仕組みの学習を目的としてるんじゃね?
87:なんJゴッドがお送りします2021/05/21(金) 06:32:52.18ID:iKx9ASY10
みんな親切やな
ナル文字の存在すっかり忘れとったわ
サンガツ
89:なんJゴッドがお送りします2021/05/21(金) 06:33:42.84ID:NbIRB5NG0
再帰はフィボナッチ数を計算する処理を書けみたいなやつで覚えた記憶ある
90:なんJゴッドがお送りします2021/05/21(金) 06:35:11.47ID:A6gkiMCRd
up連打を抜けた後にprintf連打にいくのがわからんかったけど、たぶん再帰が何かわかってないんやと思うから勉強し直すンゴ
元スレ:https://swallow.5ch.net/test/read.cgi/livejupiter/1621544401/