예제 16-3의 가변배열을 함수로 출력하는 부분에 대한 질문입니다.
#include
#include
#include
void str_prn(char **);
int main()
{
char temp[80];
char *str[3];
int i;
for(i = 0; i < 3; i++)
{
printf("문자열을 입력하세요 : ");
gets(temp);
str[i] = (char *)malloc(strlen(temp) + 1);
strcpy(str[i], temp);
}
str_prn(str);
for(i = 0; i < 3; i++)
{
free(str[i]);
}
return 0;
}
void str_prn(char **sp)
{
while(*sp != 0)
{
printf("%s\n", *sp);
sp++;
}
}
다음과 같이 코드를 고쳐서 실행을 했습니다. 문자를 입력받고 받은 문자열을 출력하고 나서 문제가 발생했다는 창이 뜨는데 왜 그런 것인지 잘모르겠습니다. 출력 및 오류 상황을 첨부파일로 함께 올립니다.