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

김곤용님의 프로필 이미지
김곤용

작성한 질문수

독하게 시작하는 C 프로그래밍

[필수 실습 문제] '*' 출력 놀이 응용

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

해결된 질문

작성

·

264

·

수정됨

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)합니다. 참고하시기 바랍니다. 😄

김곤용님의 프로필 이미지
김곤용

작성한 질문수

질문하기