별찍기 문제 중 이해안되는 부분이 있어요...
처녀자리
질문 제목 :별찍기 문제 중 이해안되는 부분이 있어요...
질문 요약 :아래 그림과 같이 별찍는 건데 이해가 안되는 부분이 있어요.
ij(*) k( )
*****_***** 15 1
****___**** 2 4 3
***_____*** 3 3 5
**_______** 4 2 7 - - 옆의 그림을 표화 한것입니다.
*_________* 5 1 9
**_______** 6 2 7
***_____*** 7 3 5
****___**** 8 4 3
*****_***** 9 5 1
질문 내용 :아래 소스에 빨간글씨 부분입니다.
#include stdio.h
int main ()
{
int i, j, k;
for (i=1; i=9; i++) // 분명 i는 1부터 9까지 늘어납니다.
{
if (i = 5)// i의 범위가 5까지일때 입니다.
{
for(j=5; j=i; j--) // 공백문자 앞쪽 * 입니다. 이 부분이 이해가 되지 않습니다.
{// 조건으로 j는 5부터 작아지며, i보다 크거나 같다 입니다.
printf(*);//조건과 위에 표를 비교해보면 맞지 않는 부분이 있습니다.(빨간색으로 표시한 부분입니다)
} // i는 4이고 j는 2이면 조건에 맞지 않습니다. 하지만 프로그램은 돌아갑니다...ㅠ
for(k=1; k=(2*i)-1; k++)
{
printf( );
}
for(j=5; j=i; j--)
{
printf(*);
}
}
else
{
for(j=5; j=i; j++) // 이 부분도 j가 2부터 시작해야 되지 않나요?
{
printf(*);
}
for(k=1; k=(19-(2*i)); k++)
{
printf( );
}
for(j=5; j=i; j++)
{
printf(*);
}
}
printf(\n);
}
return 0;
}
c를 공부하다 연습문제로 나온것을 아무리 봐도 이해가 안됩니다...ㅠ 도와주세요...