2014-03-27 2 views
0

이 루프가 VB.NET에서 아무 것도 표시하지 않는 이유를 알고 싶습니다.For 루프 단계 -1

이 코드는 무한 루프를 생성합니다. 하지만 아무 것도 보여주지 않습니다.

Dim i as Integer 
For i = 1 to 3 Step - 1 
    MessageBox.Show(i) 
Next 

루프가이 코드와 다릅니다 (java/C#)? 카운터> = 단부 경우에만 실행 루프 네가티브 스텝 크기

for(int i = 1;i <= 3;i--) 
{ 
    // print i 
} 

답변

1

시작 및 끝 조건을 바꾸지 않고 카운터를 뒤로 실행하기 때문에 아무 것도 표시되지 않습니다. 이 같은 루프의

생각한다

Dim counter As Int32 = 1 
Do 
    If counter <= 1 Then 
    Exit Do 
    End If 
    Console.WriteLine("The counter is at " & counter) 
    counter +=1 
Loop 

분명히이 제대로 작동하지 않습니다. 당신은 시작과 끝 조건을 반대로해야 그것은 무한 루프를 작성하지 않습니다

For counter = 3 To 1 Step -1 
    Console.WriteLine("counter: " & counter) 
Next 
+0

예, 시작과 끝 상태를 역으로하면 작동합니다. 하지만 그 루프가 무한 루프를 생성하지 않는 이유는 무엇입니까? –

+0

첫 번째 코드에서 이유를 보여주었습니다. –

0
For i = 1 to 3 Step - 1 

. 단계 값 -1로 1에서 3을 얻을 수 없으므로 루프는 단순히 건너 뜁니다.

루프가이 코드와 다른가요? (java/C#)?

초기 값 (i = 1)이 종료 조건 (i <= 3)을 충족시키기 때문에이 루프도 즉시 종료됩니다.

+0

'이 루프도 즉시 종료됩니다. ', 두 번째 루프가 아무것도 인쇄하지 않는다는 뜻입니까? –

+0

수정. 한 번 반복하기 전에 종료 조건이 충족되기 때문에 루프를 건너 뜁니다. – computerfreaker