- 締切済み
デバックして何を入力すればいいですか?
#include <stdio.h> int main() { int i, s; i = 10; i = 20 + 13; s = i + 5; printf("%d\n", s); reutrn 0; } これは、iが10だったらs=15、33なら38になるということですか? これはsの値を表示するプログラムですよね? 黒い画面にどんな数値を入力すればいいですか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- aris-wiz
- ベストアンサー率38% (96/252)
#4さんが書かれている場合だと コンパイルエラーになってくれても良さそうです。 >黒い画面にどんな数値を入力すればいいですか? まず、以下の情報を明確にしていただけ無いでしょうか? ・自分が期待している結果(どの様になると思っているのか) ・実際の実行した結果(実際にはどの様な事が起こっているのか) 以上を補足してください。
- maku_x
- ベストアンサー率44% (164/371)
VisualC++ をお使いの場合、デフォルトでは Win32Aplicationで動作するようにプロジェクトが作られてしまいますので、この場合はコマンドプロンプト(黒い画面)には何も表示されなくなってしまいます。なので、コマンドプロンプト上で動作するプロジェクトを作り直せばよいと思います。(設定の仕方は失念しました。すみません。)
「デパックしても黒い画面に何も表示されません。」 質問者の環境が全く判りません。 どういうPC&OSを使っていて、 どういう環境でデバッグしているのか? を補足してください。 プログラム本体の内容については、#1さんと#2さんのとおりですよ。
補足
「ビジュアルスタジオ2005、アカデミックエディション」です。 windows XPです。 「デパックなしで開始」って所を押しました。 コマンドプロンプトではありません。 そもそも本来38と表示」されないといけないんですよね?
- asuncion
- ベストアンサー率33% (2127/6289)
> これは、iが10だったらs=15、33なら38になるということですか? いいえ。if文による制御がありませんので、 上から順に実行します。 まずiに10を代入し、次に、20+13の結果(33)をiに代入します。 この時点で、iに最初に代入した10はなくなってしまいます。 その後、iの値(33)に5を加えた値をsに代入します。 最後に、sの値(38)を出力します。
- bardfish
- ベストアンサー率28% (5029/17766)
「20+13+5」の計算結果を表示するだけのプログラムです。 「i=10」は次の行の代入で意味をなしていません。 >黒い画面にどんな数値を入力すればいいですか? 意味不明。 このプログラムには数値入力を促す部分はありません。
補足
>「20+13+5」の計算結果を表示するだけのプログラムです デパックしても黒い画面に何も表示されません。 本当なら38が表示されるんですか?
お礼
すいません。無事38が表示されました。i=10 の値は影響しないんですね。 ありがとうございます。