• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

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

21.01.21 16:55 작성 조회수 238

0

답변 2

·

답변을 작성해보세요.

0

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

{} 괄호에여