배열안의 배열

익명 사용자의 이미지

#include<stdio.h>
int main()
{
        int i;
        char buf[10][4];
 
        for(i=0; i<10; i++)
                sprintf(buf[i],"i=%d\n",i);
        for(i=0; i<10; i++)
                printf("buf[d]=%s\n",i,buf[i]);
}

배열안에 배열을 알아보고자
buf 배열을 4byte만큼씩 10개를 만들었습니다
그리고 buf에 10개씩 각각에 내용을 저장하고 출력해보려고 했습니다
허나 아래와 같이 출력할 경우

buf[0]=i=0
i=1
i=2
..
i=9

buf[1]=i=1
i=2
i=3
...
이런식으로 나오네요...왜 이런 결과가..?

klara의 이미지

"i=1\n" 이 문자열의 길이가 얼마인지 계산해보세요.
참고로 문자열은 널문자로 끝납니다.