C언어/C언어 문법
C언어-함수 포인터 간단한 예제, 함수 포인터를 사용한 계산기 프로그램(매우 쉬움/이해하기 쉬움)
공부가싫다가도좋아
2021. 3. 8. 14:43
반응형
함수 포인터를 사용한 간단한 프로그램
1. 첫번째 방법
#include<stdio.h>
int add(int x,int y){ //덧셈함수
return x+y;
}
int sub(int x,int y){ //뺄셈함수
return x-y;
}
int main(void){
int a,b,c;
printf("숫자입력:") ;scanf("%d",&a);
printf("\n1.덧셈 2.뺄셈\n");
printf("메뉴입력:");scanf("%d",&b);
printf("숫자 입력:");scanf("%d",&c);
int (*fp)(int,int); //함수 포인터
if(b==1) fp=add; //덧셈함수
if(b==2) fp=sub; //뺄셈함수
printf("계산 결과값은??%d",fp(a,c));
return 0;
}
2. 두번째 방법
#include<stdio.h>
int add(int x,int y){ //덧셈함수
return x+y;
}
int sub(int x,int y){ //뺄셈함수
return x-y;
}
int main (void){
int a,c; char b;
printf("첫번째 숫자:");scanf("%d",&a);
printf("\n연산 기호:");scanf(" %c",&b) ; //+ 혹은 -
printf("\n두번째 숫자:");scanf("%d",&c);
int (*fp)(int,int); //함수포인터
if(b=='+'){ //연산기호 "+" 를 썼을때
fp=add;
}
if(b=='-'){ //연산기호 "-" 를 썼을때
fp=sub;
}
printf("\n%d%c%d=%d",a,b,c,fp(a,c)); //결과값
return 0;
}
반응형