- 1 : 2021/05/21(金) 06:00:01.45 ID:A6gkiMCRd
-
おったら質問したいんやが
- 2 : 2021/05/21(金) 06:00:13.92 ID:dfegXl1yd
-
なんや
- 3 : 2021/05/21(金) 06:00:29.07 ID:uxwf8NvIM
-
簡潔に頼むよ
- 5 : 2021/05/21(金) 06:00:37.35 ID:7D3OxykEM
-
かんや
- 6 : 2021/05/21(金) 06:00:47.04 ID:0qUYOF+h0
-
で無事に
- 7 : 2021/05/21(金) 06:01:19.49 ID:nt409E5U0
-
てんや
- 8 : 2021/05/21(金) 06:01:22.49 ID:A6gkiMCRd
-
void up( char *stone ) {
if ( !strcmp( stone, "") ) {
} else {
up ( stone + 1 );
printf ( stone );
printf ( "\n");
}
}
int main(void) {
up( "*****");
return 0;
}
これがこう↓なるのがわからんのや
*
**
***
****
***** - 9 : 2021/05/21(金) 06:02:20.57 ID:RHmSkr7r0
-
再帰だな
- 10 : 2021/05/21(金) 06:02:33.63 ID:A6gkiMCRd
-
ンゴ
- 11 : 2021/05/21(金) 06:03:30.48 ID:uxwf8NvIM
-
ポインタ一個ずつ進めてるから
最後に呼び出した関数から先に表示されるから - 12 : 2021/05/21(金) 06:04:10.90 ID:A6gkiMCRd
-
void down( char *stone ) {
if ( !strcmp( stone, "") ) {
} else {
printf ( stone );
printf ( "\n");
down( stone + 1 );
}
}int main(void) {
down( "*****");
return 0;
}
これがこう↓なるのはわかるんやけど
*****
****
***
**
* - 13 : 2021/05/21(金) 06:04:53.09 ID:A6gkiMCRd
-
これはポインタってやつなんか
授業では今のところそんなのやってないんやが - 14 : 2021/05/21(金) 06:05:00.50 ID:Z1po2FdH0
-
C言語マスターのワイが来たからもう安心や
- 15 : 2021/05/21(金) 06:05:47.71 ID:nt409E5U0
-
stoneが",,,,,"のときにstone +1は",,,,"になって、これをupに渡す
- 20 : 2021/05/21(金) 06:07:24.10 ID:A6gkiMCRd
-
>>15
最終的に””がupに渡されて stone=“”やから何もせずに終わるじゃないんか? - 22 : 2021/05/21(金) 06:08:32.21 ID:nt409E5U0
-
>>20
""のときは何もしないけど、それか終わって一つ外に出たらさんしょうしてるのは","になるから一個出力されるやん - 38 : 2021/05/21(金) 06:18:32.36 ID:A6gkiMCRd
-
>>22,>>27
先にupがあるからupの中にどんどん入っていって空文字列になって何もせずに終わるんじゃないんか? - 39 : 2021/05/21(金) 06:19:35.43 ID:nt409E5U0
-
>>38
up1の中でup2にはいったら、up2の処理が終わったあとに残りのup1の処理をする
そういう動作 - 40 : 2021/05/21(金) 06:19:59.70 ID:iKx9ASY10
-
>>38
再帰のイメージがついてへんのか? - 17 : 2021/05/21(金) 06:06:36.96 ID:ZyAF6xyur
-
帰りがけに表示してるから
- 18 : 2021/05/21(金) 06:07:06.99 ID:NI6C6kRDp
-
頭の中でステップ実行しろ
- 19 : 2021/05/21(金) 06:07:17.00 ID:RHmSkr7r0
-
なんでdownが理解できてupが理解できんねん
ほとんど一緒やないかそれはそれとしてstrcmp(stone,"")は気持ち悪いな。strlen(stone)==0の方が自然だろ
- 21 : 2021/05/21(金) 06:08:29.72 ID:A6gkiMCRd
-
>>19
すまンゴ、この書き方しか習ってないんや
学校の課題なんや - 23 : 2021/05/21(金) 06:08:33.00 ID:3uM3Q+Zwr
-
>>19
それよりも*stone=='\0'やろ - 24 : 2021/05/21(金) 06:08:34.04 ID:NI6C6kRDp
-
>>19
なんとなく処理遅くなりそう - 35 : 2021/05/21(金) 06:15:53.61 ID:YqKjVuJvM
-
>>19
わかる - 25 : 2021/05/21(金) 06:09:17.24 ID:vSulGX+u0
-
プログラマー多すぎやろ
- 26 : 2021/05/21(金) 06:09:56.46 ID:Is9f6zG30
-
普通strcmpそこで使うか?
- 31 : 2021/05/21(金) 06:14:06.77 ID:iKx9ASY10
-
ifの空ブロックが気になる…
- 32 : 2021/05/21(金) 06:14:15.01 ID:mEJege88a
-
プログラマーって頭ええんやな
- 33 : 2021/05/21(金) 06:15:12.06 ID:A6gkiMCRd
-
わからんンゴ…
- 34 : 2021/05/21(金) 06:15:29.20 ID:Z1po2FdH0
-
実行順としては
up(*****)の中でup(****)の中でup(****)の中でup(***)の中でup(**)の中でup(*)の中で
( !strcmp( stone, "") ) かtrueになって処理が返って来て、初めてprintfが実行されるわけや - 36 : 2021/05/21(金) 06:16:08.82 ID:lVQtLnJ50
-
これ応用して以前ぷよぷよの判定アルゴリズム作ったわ
再帰知らんかったから自分のこと天才だと思ってた - 37 : 2021/05/21(金) 06:16:24.13 ID:Is9f6zG30
-
ポインタが分かってないならこんな課題出んやろ
C言語の文字列について調べてみろ - 41 : 2021/05/21(金) 06:20:34.37 ID:hBAPFr7Rd
-
なんで+1すると文字が一個減るのかわからん
アドレスに+1したんだよね? - 42 : 2021/05/21(金) 06:20:36.69 ID:yVnV1jFN0
-
ワイプログラマー、わからない
- 43 : 2021/05/21(金) 06:20:44.25 ID:YqKjVuJvM
-
再起APIとかがすこすこすぎて全然使う機会ないわ
高次関数もあんまりない
コメント