私は最近試験をしましたが、ボーナスの質問がありました。私はそれを正しく得た唯一の人でした。私はクラスメートと同じくらい好奇心が強いです。答えが得られましたが、方法や理由はわかりません。説明が必要
は質問されました: 使用この配列:int a[5] = {5, 1, 15, 20, 25};
は、これらの変数を使用します。int i, j, m;
使用この基本コード:ありました3, 2, 15
:
i = /*Enter Code*/;
j = /*Enter Code*/;
m = /*Enter Code*/;
printf("%d, %d, %d", i, j, m);
この回答をゲット条件の束しかし、メインは、私たちはあなたに許可されていた配列と1つの '1'と変数ごとに1つの '++'が等しくなります。
私は試行錯誤して正しい答えを得ましたが、どのように正しいとどのように正しいのか分かりません。ここに私のコードです:
int main()
{
int a[5] = {5, 1, 15, 20, 25};
int i, j, m;
i = ++a[1];
j = a[1]++;
m = a[i++];
printf("%d, %d, %d", i, j, m);
_getch();
return 0;
}
私は正しい答えを得た方法について純粋に興味があります。どんな説明も素晴らしいだろう。
ありがとうございます。
あなたは自分でコンパイルしてリンクした後に、デバッガでコードをステップ実行し、各ステップでvar値を検査しましたか? –
@MartinJamesそれはあなたが意味するものなら、私は正しい答えを '3、2、15'にしました。私は本当にこの質問が何を求めているのか分からない。 – Moms
「どうすれば正しいのか、どのように正しいのかわかりません」 - まだ実行していない場合は、デバッガでコードをステップ実行し、各ステップでvar値を調べます。 –