간단한데...이해가..안돼요 ㅡㅡ;
글쓴이: keaton32 / 작성시간: 일, 2007/04/15 - 10:43오후
#include
#define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0]))
int array[] = {23,34,12,17,204,99,16};
int main()
{
int d;
d = -1;
while(d
printf("%d\n", array[d+1]);
d++;
}
return 0;
}
왜 while 문 내부의 명령문이 실행이 안되는 지 이해가 안갑니다. ㅡㅡ;
Forums:
암시적 형변한에
암시적 형변한에 의해 d가 unsigned int로 변경된 상황입니다.
d는 -1이 아니고 2^32의 값을 가지고 비교하게 됩니다.
(int)(TOTAL_ELEMENTS - 2)로 바꿔서 해보세요.
댓글 달기