
プログラミングのペーパーテスト
実行結果がどのように表示されるか答えよ
#include <stdio.h>
void hoge(int n){
if( n <= 0 ){
printf("0 ");
} else {
printf("%d ",n);
hoge(n-1);
printf("%d ",n);
}
}
void main(){
hoge(3);
}
答え 3210123
3210までは分かるんですけどなんで123が表示されるか
分かりません
教えてほしいです
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
行番号追加して、
01:#include <stdio.h>
02:void hoge(int n){
03: if( n <= 0 ){
04: printf("0 ");
05: } else {
06: printf("%d ",n);
07: hoge(n-1);
08: printf("%d ",n);
09: }
10:}
11:void main(){
12: hoge(3);
13:}
実行される処理は、
11 12 hoge(3)を呼び出し
02 03 05 06 3を表示
07 hoge(2)を呼び出し、以下を一旦省略
08 3を表示
で3が2個表示されるのはOK?
その上で、省略された部分を書くと、
11 12 hoge(3)を呼び出し
02 03 05 06 3を表示
07 hoge(2)を呼び出し
02 03 05 06 2を表示
07 hoge(1)を呼び出し
02 03 05 06 1を表示
07 hoge(0)を呼び出し
02 03 04 0を表示
08 1を表示
08 2を表示
08 3を表示
> なんで123が表示されるか
06行目が実行された後、08行目も実行されるから。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
DLLファイルの逆コンパイラにつ...
-
C言語 関数、変数の宣言について
-
C言語でファクト関数を使わずに...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
バッチファイルで以下のような...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
c言語
-
VisualStudio2022でC言語プログ...
-
ストリームについて。
-
Cのオブジェクトファイルの逆ア...
-
Windows Formアプリからコンソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTTPSのとき":"が"%3A"ではなく...
-
ASP+アクセスでのSQLコメントに...
-
javascriptで文字挿入でtoggle...
-
同じ型【ハイフンと数字】だけ...
-
hoge の謎
-
Excel VBA の ChangeFileAccess
-
Boolean型配列中のTrueの有無を...
-
ボタンをクリックすると数が増...
-
【Jquery】changeイベント毎にa...
-
【正規表現】【javascript】CR...
-
confirmの連続?
-
ifreamをリロードしたい
-
Vb.netのグローバル変数の宣言...
-
バイナリファイルから文字列を...
-
構造体を引数で関数へ渡す
-
ひとつ上の階層にアクセスさせ...
-
JQueryの繰り返し処理が動かな...
-
複数ファイルで使うグローバル...
-
static constメンバ変数(配列)...
-
アンカーリンクをクリックさせ...
おすすめ情報