호출 질문
여우비
#include stdio.h
#include stdlib.h
int show_menu();
char *input_string(int i, int size, char *str);
int main()
{
int i,size,num;
char *str,*suit[5];
while(1)
{
num = show_menu();
if(num==1)
{
printf(문자열을 입력받을 위치를 입력하세요.suit[0~4]\n);
scanf(%d,&i);
printf(suit[i]에 할당받을 size를 입력하세요\n);
scanf(%d,&size);
*input_string(i, size, suit[i]);
suit[i] = str;
printf(suit[%d]= %s\n,i,str);
}
else if(num==2)
{
printf(suit[%d] = %s\n,i, suit[i]);
}
else if(num==3)
{
printf(프로그램을 종료합니다\n);
exit(3);
}
else
{
printf(다시입력하세요\n);
}
suit[i] = str;
}
}
int show_menu()
{
int num;
printf(-----------------------------------------------\n\n);
printf(char *suot[5]에 입력받을 문자열!!\n\n);
printf(1은 입력\n\n);
printf(2는 출력\n\n);
printf(3은 종료\n\n);
printf(숫자을 입력하세요 1,2 or 3\n);
scanf(%d,&num);
printf(-----------------------------------------------\n\n);
return num;
}
char *input_string(int i, int size, char *str)
{
str = (char *)malloc(size);
printf(suit[%d]의 문자열을 입력하세요\n,i);
scanf(%s,str);return str;
}char *input_string(int i, int size, char *str)에서는 str의 값이 입력받은데로 나오지만 main함수로 돌아가서는 null값으로 나옵니다.. 전역변수 설정 해봐두 안되구요.. 어떻게해야 str이 main에서도 유지되는지 궁금합니다!!