/* main関数の再帰的な呼出し */ #include <stdio.h> int main(void) { static int x = 5; static int v = 0; if (--x > 0) { printf("x = %d\n", x); printf("main() = %d\n", main()); v++; return (v); } else { return (0); } } /* 実行結果 正常動作 C:\MinGW\users\chap06>gcc -o recmain recmain.c -Wall C:\MinGW\users\chap06>recmain x = 4 x = 3 x = 2 x = 1 main() = 0 main() = 1 main() = 2 main() = 3 C:\MinGW\users\chap06> */ コード
上のプログラムを実行すると結果が表示されるのですが
どうしてXが全部表示されてから,main() = 0が表示されるのですか?
xとmain() =が交互に表示されないんですか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/12/05 01:32