인프런 커뮤니티 질문&답변

foreign님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

break, continue

왜 이것은 실행이 안되나요? 두개의 차이점이 무엇인가요

해결된 질문

21.01.21 16:55 작성

·

278

0

답변 2

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2021. 01. 21. 17:12

if (조건)
{
     할일
}

위와 같은 패턴으로 만들어주면, 조건이 만족할 때 [할일]을 실행합니다.

if (i % 3 != 0)
{
     continue;
    Console.WriteLine("...");
}

즉 위와 같이 만들면, 3으로 나뉘지 않을 때 continue와 console.writeline을 연이어 실행하라는 의미이지만,
불행하게도 continue에 의해 다음 for 루프로 강제 이동하기에
console.writeline는 실행되지 않고 무시됩니다.

if (조건)
   할일1
할일2

if 다음에 { } 을 넣어주지 않으면 무조건 다음 한줄만 실행됩니다.
따라서 위와 같은 패턴으로 만들어주면, 조건이 만족할 때 [할일1]을 실행합니다.
그리고 [할일2]는 조건을 만족하지 않더라도 실행됩니다.

if (i % 3 != 0)
   continue;
Console.WriteLine();

즉 위와 같이 만들면, 3으로 나뉘지 않을 때 continue를 합니다.
원칙상 할일1 다음에 할일2도 실행해야 하지만, continue에 의해 for 루프로 다시 이동해서 
Console.WriteLine은 무시됩니다.

반면 3으로 나뉘는 경우라면 continue가 실행되지 않고,
이어서 할일2가 실행되니 Console.WriteLine에 의해 로그를 찍게 됩니다.

C++ C#은 Python과 다르게 띄어쓰기가 아무런 영향을 주지 않고
괄호 { } 여부에 따라 묶여서 실행되는지가 결정됩니다.

0

foreign님의 프로필 이미지
foreign
질문자

2021. 01. 21. 16:55

{} 괄호에여

foreign님의 프로필 이미지

작성한 질문수

질문하기