-3

答えが喜ばしいものである理由を誰か説明できますか? 最初のものは、停止条件にすでに達しているためだと思いますが、ステートメントをスキップしますが、質問13はなぜ4321を出力しないのですか?

12.次のコードによって生成される出力:

int n;
for (n = 1; n > 4; n++)
    System.out.print(n); 

a) 12345

b) 1234年

c) 0 ---> 停止条件がすでに満たされているため、for ループは実行されません。

d) 出力を生成しません*

13.次のコードによって生成される出力:

int n;
for (n = 4; n > 0; n--);  
    System.out.print(n); 

a) 43210

b) 4321

c) 0* ---> for ループの後のセミコロン。ループの終了後に print ステートメントが実行されます。

d)出力を生成しません

4

4 に答える 4

2

質問 13 について: for ループの後ろにセミコロンがあります。そのため、ループは最初に n が > 0 でなくなるまで実行されます => その時点でゼロになります。次に、印刷にゼロが表示されます。

于 2012-04-24T07:43:48.923 に答える
0

質問13 :

for (n = 4; n > 0; n--);

ループは直接実行されます。したがって、nの値を減らすだけで、実行が完了するまで次のステートメントには入りませんでした。したがって、ここでは、実行が完了するまでステートメントになりません。実行終了時のnの値は0です。したがって、ステートメントに関しては

System.out.print(n);

nの値は0なので、プログラムの出力は0です。

于 2012-04-24T07:53:51.747 に答える
0

前者は、forループ本体が実行されないため、出力を生成しません(印刷行がforループ内にあると想定)。2つ目は、forループでは何も行わないようで、ループの後にnの値を出力するだけです。0より大きいためにテストに失敗したため、これは0になります。

于 2012-04-24T07:46:08.797 に答える
0

質問 13) には ; があります。for ループの後、プログラムは (n--) 4 回しか実行しないことを意味します。n の値が 0 になるという結果になります。

于 2012-04-24T07:57:16.160 に答える