• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

필수 실습문제 '*' 출력놀이 응용 부분 관련 질문

24.01.20 19:11 작성 24.01.20 19:12 수정 조회수 167

0

질문.PNG

#include <stdio.h>

int main(void)

{

 

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

{

for (int j = 0; j < 5; ++j)

{

if (i + j < 4)

printf(" ");

else

printf("*");

}

 

printf("\n");

}

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

{

for (int j = 0; j < 9; ++j)

{

if (i + j < 5 || j - i > 5)

printf(" ");

else

printf("*");

}

 

printf("\n");

}

 

return 0;

}

이런 식으로 코드를 짰는데 제가 보기엔 제 코드에 문제가 없는데 삼각형 문제에서 출력 결과가 사진과 같이 나와요 i가 4이고 j가 8일 때 왜 "*"이 아닌 " "가 출력 되는지 모르겠어요.

답변 1

답변을 작성해보세요.

0

(i + j < 5 || j - i > 5) 식에서 i가 4고 j가 8이면

4 - 8 < 5는 true 입니다. 따라서 8 - 4 > 5 연산을 하기도 전에 조건을 만족(OR)합니다. 참고하시기 바랍니다. 😄