
#include <stdio.h>
int main()
{
int i=0,j=0;
int value=0;
while(i<10)
{
//j=0;
while(j<100)
{
value=i+j;
printf("%4d",value);
j+=10;
}
printf("\n");
i++;
}
return 0;
}
강좌> C프로그래밍 > 제어문 3에서 0에서 99까지 출력하는 문제에서 위의 코드처럼 실행하면 첨부한 내용처럼
일부만 출력됩니다.
그래서 빨강색으로 주석처리한 j=0;을 while문 안에 추가로 넣으니 정상적으로 출력 되었습니다.
이문제를 for문으로 바꾸니 j=0을 추가로 넣지 않아도 실행에 문제가 없었습니다.
변수 선언을 그전에 했기때문에 while문 안에 변수 초기값을 지정하지 않았는데 왜 첨부 사진과 같이
출력되는지 알고 싶습니다.
for문은 초기값을 설정하여 조건을 만족시키지 않을 때까지 수행합니다.
하지만 while문은 초기값이 설정되어있지 않고, 조건을 만족시키지 않을 때까지 수행합니다.
이중 while문에서 한 번 반복되고 나면 j는 100까지 증가해있습니다. 그 후 \n을 출력 후 i가 1이 되면 j는 100으로 계속 남아있는 겁니다. 다시 반복문으로 들어가면 j가 100이라 조건을 만족하지 않아 바로 반복문을 빠져나옵니다. 그러므로 while문을 사용할 경우 초기값으로 다시 설정을 해 주셔야합니다.