이거 차이가 뭔가요?

조회수 1760회

int t, i;
t = 0;
for (i = 0; i < 10; i++) {
t++;
}
printf("%d %d\n", t,i);

int a, i, j;
for (i = 0; i < 10; i++)
for (j = 0; j < 5; j++)
a = i +j;
printf("%d", a);

이거 차이점이 뭔가요???? 맨 첮번째꺼는 왜 10 10이 되는지 자세히 설명 해주시면 감사하겠습니다. 그다음 2번째꺼는 i가 9, j가 4가 되서 더하면 13이 맞죠????

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • for반복문은 for(초기화; 조건; 연산) { 반복실행할 코드; }로 구성되는데 for문 안의 코드를 수행한 뒤 연산을 수행하고 조건에 부합하는지 검사를 하게됩니다.
    그래서 첫번째 코드는 변수 i의 값이 0부터 증가하여 10이된 이후에 조건을 검사하여 for문이 종료하게되고 i의 값은 10으로 출력이 됩니다.
    두번째 코드는 for문 안에서 변수a에 값을 계속해서 할당하는데 가장 마지막의 수행은 i의 값이 9, j의 값이 4인경우입니다. a의 값으로 13이 할당된채로 반복문이 종료하게되므로 a의값은 13이됩니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)