포인터를 이용한 간단한 문자열 출력 문제 에러 입니다.
아롱별
질문 제목 : 포인터를 이용한 간단한 문자열 출력 문제 에러 입니다.출력이 전혀 이상하게 나오네요.질문 내용 :
제가 이러한 코드를 만들어서
1을 입력하면 별이야 사랑해!
2를 입력하면 달이야 사랑해!
3을 입력하면 모두다 사랑해!
라고 출력하고싶은데
사랑해는 포인터를 이용해 함수를 통해 전달되게 하려하는데
이상태로 출력을하면 (1을입력하면) 별이야 ?! 가 출력이 됩니다..
어디가 어떻게 잘못된지를 모르겠습니다.
#includestdio.hvoid starlove(char pl)
{
printf(별이야 %s \n, &pl);
}void moonlove(char pl)
{
printf(달이야 %s \n, &pl);
}void alllove(char pl)
{
printf(모두다 %s \n, &pl);
}int main()
{
int num;
char love[]=사랑해!;
char *pl;
pl=love;
printf(별 좋아?=1, 달 좋아?=2, 모두 좋아?=3 입력 : );
scanf(%d, &num);
if(num==1)
starlove(*pl);
else if(num==2)
moonlove(*pl);
else if(num==3)
alllove(*pl);
else
printf(다 싫구나! \n);return 0;
}
/*
1을 입력하면 자꾸 별이야 ?! 가 출력 되는데.. 함수 호출된 부분은 잘못된거 같지 않고 매개변수나 출력 부분에서 잘못
된거 같은데.. * , & 쓰고 없에도 사랑해! 출력이 안되네요. 아니면 선언을 잘못했는지도..
*/
실행은 잘되는데
어디가 어떻게 잘못된걸까요..?
-
리나
감사합니다~ 포인터로 함수 인달전달 과정이 많이 헷갈리네요 흑..
-
튼싹
#includestdio.h
void StarLove(char* pl)
{
printf(\별이야 %s \\n\