@ㅅ@/

2008.12.09 23:11

블루아사 조회 수:52

#include <stdio.h>

int main(void)
{
 int i=0, j=0;
 int num=1;
 int size;
 double temp;
 int a4[4][4]= {0};
 //int a5[5][5]= {0};

 printf("숫자 입력:");
 scanf("%d", &size);
 
 temp = (double)size + 0.5;

 while(j<(int)temp)
 {
  a4[i][j] = num++;
  j++;
 }
 while(i<(int)temp)
 {
  a4[i][j] = num++;
  i++;
 }
/*
 for( ;j<(int)temp;j++)
  a4[i][j] = num++;
 for( ;i<(int)temp;i++)
  a4[i][j] = num++;
*/ 
 for(i=0;i<4;i++)
 {
  for(j=0;j<4;j++)
   printf("%3d",a4[i][j]);
  printf("n");
 }
  return 0;
}

아래 주석처리된 for문이나 위의 while문이나 같은건데요.
위에서 j를 증가시키고 그 j값을 아래 반복문에서 그대로 쓸려고 했는데
실제 출력해보니 j가 다시 0으로 돌아와서 두번째 반복문에서 a4[0][0],a4[1][0],a4[2][0],a4[3][0]으로 가네요.
생각했던건 위 반복문에서 j가 3이 되고, 3값을 가지고 a4[0][3],a4[1][3],a4[2][3],a4[3][3] 으로 되는건데..
i,j가 초기화 안되고 계속 증감된 값을 가지는 방법을 가르켜 주세요 -ㅅ-/



XE Login