이거 차이가 뭔가요?



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이 맞죠????

  • 2016년 03월 31일에 작성됨

조회수 262


1 답변


좋아요
4
싫어요
채택취소하기

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

  • 2016년 03월 31일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close