質問: (x + y) / 2; printf("2つの整数x,yを入力してください.\n"); printf("整数x\n"); scanf("%d",&x); printf("整数y\n"); scanf("%d",&y); printf("二つの整数値の平均値を反転した数値は%dです。\n",-ave); return 0; } 上記のプログラムをコンパイルし、実行してみたところ値が-1252328などおかしな値になります(xに1yに3を代入。 ) 最後のprintfにーaveではなく-(x + y) / 2を入れたところ正常に作動しました。 どうして-aveではダメだったのでしょうか。どなたかご教授していただけないでしょうか。
回答: ave = (x + y) / 2;の段階では、xとyにはまだ入力値が反映されていません。 xとyが初期化されていなければ、ヘンな値が入っているかも知れません。