같은 프로그램입니다.
망고
#includestdio.h
?xml:namespace prefix = o ns = urn:schemas-microsoft-com:office:office /
int main()
{
int i, j, input;
printf( 숫자 입력 : );
scanf(%d,&input);
for(i=0;iinput;i++)
{
for(j=0;ji+1;j++)
{
printf(*);
}
printf(\n);
}
return 0;
}
②
#includestdio.h
int main()
{
int i, j, input;
printf( 숫자 입력 : );
scanf(%d,&input);
i=0;
while(iinput)
{
i++;
j=0;
while(ji)
{
printf(*);
j++;
}
printf(\n);
}
return 0;
}
---------------------
여기서 궁금한것은
for에서는 (i+1)이 붙고
while에서는 그냥( i)라고 해야하는 이유가 뭔가요?
-
앵겨쪼
while 와 for 문에 차이는 거이 없습니다. 다만 사용할때 조건을 어디에 붙혀 놓으냐 정도
while 는 대게 break문과 같이 사용하여 나오게 만들죠 -
리리
증감문때문에 그렇습니다. for문 실행순서를 잘 생각해보시면 처음에 한번만
초기문을 본후 조건문을 보고 조건문이 참이면 반복문을 실행합니다.
반복문이 실행되고 다시 for문으로 돌아왔을때 증감문을 본후 i++을 증감시키고나서
다시 조건문을 보고 참이면 반복, 거짓이면 for문을 빠져나가죠. 이런 순서인데
while문에서는 조건이 참이여서 반복문내용으로 들어갔더니 바로 증감문을 써서
i++을 증감시켜줍니다. 만약 i를 증감시키지 않고 바로 whi -
눈
for(i=0;iinput;i++)
{
for(j=0;ji+1;j++)
이중 for문을 사용하였는데 만약에 i+1을 하지 않는다면 밑에 for문은 한번은 안돌아갈 것입니다. 왜?
i +1을 하지 않고 i라고 했다면
i = 0; // 일 경우
for(j = 0;ji;j++){ == for(j=0; j0;j++){
이렇게 되는데 식이 만족하지 않으므로 for문 한번 안하고 그다음부터 돌겠죠..
아마 완성된 그림에서 1줄이 빠져있는 형태로 나올것입니다