2017-06-17 7 views
-2

このCコードの出力は何ですか? //出力には5つのhiが与えられます。私はそれがどのように5であるか理解できません。私は出力が8 hiのかもしれないと思います。だから私はこの出力の説明が必要です。 forループC言語の次のプログラムの出力は?

void main() 
{ 
    int i = 0, j = 0; 

    for (i = 0; i < 5; i++) 
    { 
     for (j = 0; j < 4; j++) 
     { 
      if (i > 1) 
       break; 
     } 
     printf("Hi\n"); 
     } 
    } 
+2

は、デバッガでステップ実行しようとしたした値に応じて、あなたの出力にのみ5こんにちはを持っている理由だ

for (j = 0;j < 4; j++) { if (i > 1) break; } 

を参照してください? – sbooth

+1

[小さなプログラムをデバッグする方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) –

+0

なぜ、これが5行ではなく8行を生成すると思われるのか説明してくださいあなたがコードを誤解している場所を知り、それが間違っている理由を説明することができます。 –

答えて

1
for (j = 0;j < 4; j++) 
{ 
    if (i > 1) 
     break; 
} 

この基本的に何もしません。

1

内側のforループは実際に何もしません。実際に起こる唯一の事は、if (i>1)をチェックし、それが内側のループから抜け出すことです。

ので、実行が戻って外側のループと"hi"に入るすべてのi

4

のために一度に印刷されて実際にあなたのこんにちははこのループに取り組んでいる

for (i = 0; i < 5; i++) 
{ 

    printf("Hi\n"); 

} 

あなたの内部ループはには影響しません出力がありませんので出力文がある

jus break文をt は、あなたが私の

ハッピーコーディング