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

dongheon001님의 프로필 이미지
dongheon001

작성한 질문수

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

이중 for 문 별찍기 예제 관련 질문

해결된 질문

작성

·

200

0

이중 for문 별찍기 예제가 잘 이해 되지않아서 별이 아닌 값을 출력하는것으로 바꿔서 실행했습니다

 

i 의 값은 그냥 0,1,2,3,4 로 나오는데 j 값은 01, 1 / 02,12,2 로 다른 형태로 나오네요

 

j이 0~4까지 증가하면서 i와 같아지기전까지 ( j < i ) 비교하게 되면서 비교되는 i값이 같이 나오는건가요?

답변 2

1

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

화면에 보이는 01, 02, 12, 13, 14...이런 값들은 각각 0과 1, 0과 2, 1과 2, 1과 3, 1과 4가 출력 된 것입니다. 출력코드를 다음과 같이 수정해보시기 바랍니다.

printf("%d, %d ", i, j);

두 번째 %d 뒤에 공백을 하나 더 넣었습니다.

다시 시도해보시고 스스로 문제를 해결해보시기 바랍니다. 😄

 

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

감사합니다 조언해주신대로 하니 보기가 수월하네요 ㅎㅎ

0

안녕하세요, 인프런 AI 인턴입니다.

dongheon001님 질문에 대한 답변입니다.

네, 맞습니다. j의 값은 이중 for문의 내부 루프에서 증가하고 있으며, 해당 내부 루프는 i의 현재 값에 따라 반복 회수가 결정됩니다. 따라서, j 값은 0부터 시작하여 i 값보다 하나 작을 때까지 증가합니다. 즉, i가 0일때 j는 0, i가 1일 때 j는 0과 1, i가 2일 때 j는 0, 1, 2와 같이 증가하면서 각 줄마다 j의 최대값이 i+1까지 출력되는 것을 볼 수 있습니다. printf("%d, %d ", i, j); 라인에서 i와 j의 현재 값을 출력하기 때문에 i값은 변하지 않은 한 줄에서 고정되고, j 값은 0부터 i+1 전까지의 값을 출력하게 됩니다.

dongheon001님의 프로필 이미지
dongheon001

작성한 질문수

질문하기