본문 바로가기
C언어/C언어 문법

C언어-함수 포인터 간단한 예제, 함수 포인터를 사용한 계산기 프로그램(매우 쉬움/이해하기 쉬움)

by 공부가싫다가도좋아 2021. 3. 8.
반응형

 


함수 포인터를 사용한 간단한 프로그램


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;
}
		

 

반응형

댓글