함수포인터에서요
하람
질문 제목 : 함수포인터 예제 코드 질문이요1을입력하면 덧셈을 하고 2는 뺄셈 3은 종료를 하라는 프로그램인줄은 알겠는데
코드를 보면 중간에 빨간부분이 의미하는것이 궁금해요
그리고 이예제는 void형이여서 프로그램이 종료되지 않고 계속 반복되는 건가요? 그것도 알려주세요질문 내용 :
/* fct_ptr2.c */
#include stdio.h
void selfunction(int s);
void add(void);
void min(void);
int main(void)
{
int sel;
while(1)
{
printf(선택 : 덧셈(1), 뺄셈(2), 종료(3) );
scanf(%d, &sel);
if(sel==3)
break;
selfunction(sel);
}
printf(프로그램이 종료 되었습니다. \n);
return 0;
}
void selfunction(int s)
{
void (*fptr)(void);
if(s==1)
fptr=add;
else
fptr=min;
fptr();
}
void add(void)
{
int a, b;
printf(덧셈을 위한 두개의 숫자 입력 : );
scanf(%d %d, &a, &b);
printf(덧셈 결과 : %d \n\n, a+b);
}
void min(void)
{
int a, b;
printf(뺄셈을 위한 두개의 숫자 입력 : );
scanf(%d %d, &a, &b);
printf(뺄셈 결과 : %d \n\n, a-b);
}
-
딸기향
제 허렵하고 간략한 답변이 도움이 되었다니 정말 감사합니다.
더 열심히 공부해서 cudylove님께 도움이 되도록 노력하겠습니다. -
엄마몬
아 ㅋㅋㅋㅋwhile(1)을 못봤네요 ㅋㅋㅋ 질문올려놓고도 웃기네요 ㅋㅋ 답변 감사해요!
-
도도한
cudy//무한루프는 main의 while(1)부분이죠.
-
한봄찬
렌시아// 함수포인터 tptr에 min이나 add의 함수를 받아주면서 호출하는 것입니다.
-
한별나라
빨간부분.. 함수호출 형식인거 같은데요.. fPtr이란 함수가 없는데.. 함수호출..인건가요?;;
-
세이
그럼 이코드에서 어느 부분이 무한루프를 돌게 하였나요?
-
해길
빨간 부분은 함수 호출한거구요 void 형태라는건 리턴이 없는거지 무한루프를 돌아가는 의미는 아니예여