- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:”KURIKAESHI 0”が現るのですか!?)
何故プログラム上で'KURIKAESHI 0'が現れるのか!?
このQ&Aのポイント
- プログラムの実行結果において、'KURIKAESHI 0'が現れる理由を知りたい。
- コード上での'KURIKAESHI 0'の意味や出力の意図が分からない。
- 'KURIKAESHI 0'が現れるまでの処理について詳しく説明してほしい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ちゃんとしたコンパイラと実行環境用意した方がいいと思いますけどね……。 > 実行結果の > kaisuu >KURIKAESHI 0のKURIKAESHI 0って何でしょうか!? >printf("kaisuu >"); と >printf("KURIKAESHI %d\n", syori_kaisuu); の出力結果です。 本来なら >scanf("%d", &kaisuu); で入力待ちになるんでしょうが…… http://codepad.org/ では入力待ちになってくれないんでしょうね。 まぁ、ブラウザ経由で動作しているのにどう入力待ちしろと?とは思いますが…。 >何でプログラム上”KURIKAESHI 0”が現るのですか!? なんでって…… >printf("KURIKAESHI %d\n", syori_kaisuu); の出力結果です。 syori_kaisuuは最初に0で初期化しているじゃないですか。 >いきさつが分かりません!? scanf()が期待通りに動作しないからそのまま突っ走っているだけです。 kaisuuの初期化が無かったら悲惨なことになっていた可能性もあるでしょう。 # およそ2分の1の確率で"KURIKAESHI 0"の表示すらなかった…かも知れませんけど。 # コンパイラの既定がint=signed intだったら…ですけどね。
お礼
御回答ありがとうございました。 A アンス:syori_kaisuuは最初に0で初期化している。 問題を準追ってよく読むと ループ処理で while(syori_kaisuu < kaisuu){ ・・ syori_kaisuu = syori_kaisuu + 1; ゆえに 「int syori_kaisuu = 0;~syori_kaisuu = 5」の範囲が 以下に現れて・当然 KURIKAESHI 0も含まれるので・・ KURIKAESHI 0 KURIKAESHI 1 KURIKAESHI 2 KURIKAESHI 3 KURIKAESHI 4 変な質問をしてすみません! またするかもしれませんが!!?? 宜しくお願いします。