これはループではないので、この関数はループしているような出力を出力するので、これは読んだ本の再帰関数です。 この機能の仕組みを理解しようとしましたup_and_down
この再帰関数を理解していない
本の中で私はそれを再帰関数は自己呼び出すと言うが、コード内ではそれを直接見ることができないと言っているのですか?
これは、機能の中で何が起こっているのかを前もって説明してください。
#include<stdio.h>
void up_and_down(int);
int main(void){
up_and_down(1);
return 0;
}
void up_and_down(int n){
printf("Level %d: n location %p\n" , n , &n);
if(n < 4){
up_and_down(n+1);
}
printf("LEVEL %d: n location %p\n",n,&n);
}
出力
レベル1:nの位置0x7ffd8988c9fc
レベル2:N位置0x7ffd8988c9dc
レベル3:N位置0x7ffd8988c9bc
レベル4:N位置0x7ffd8988c99c
LEVEL 4:N位置0x7ffd8988c99c
レベル3:N位置0x7ffd8988c9bc
LEVEL 2:N位置0x7ffd8988c9dc
LEVEL 1:nの位置0x7ffd8988c9fc
'up_and_down'の中に' up_and_down(n + 1)の呼び出しはありませんか? –
あなたが理解していないのは正確には何ですか? –
@AdrianoRepettiはい、それはまだですが、私はその仕事の仕方を通してそれを見ることができません。 – user7738839