わからないこと
出力結果について、
なぜ一度加算されていったaが5まで加算された後
1まで減算されたのちに処理が終了するのか。
また、なぜ減算が行われるのか。
該当のソースコード
c
1#include <stdio.h> 2 3/* 再帰関数*/ 4void loop(int a); 5 6int b = 0; 7 8int main(){ 9 int a = 0; 10 int c = 0; 11 12 // 再帰関数 13 loop(a); 14 15 //出力 16 printf("--------\n"); 17 printf("%d, %d, %d\n", a, b, c); 18} 19 20void loop(int a){ 21 int c = 0; 22 23 if (a == 5) { 24 return; 25 } 26 27 a++; 28 b++; 29 c++; 30 31 //出力 32 printf("%d, %d, %d \n", a, b, c); 33 34 //再帰関数 35 loop(a); 36 37 //出力 38 printf("%d, %d, %d \n", a, b, c); 39}
試したこと
関数loop内にて
a++;の前にprintfを追加してみた。
loop(a);の後にprintfを追加してみた。
補足情報
初歩的な質問ではございますが、ご教授いただけると大変助かります。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/17 06:29