A sentimental robot

함수포인터 본문

C

함수포인터

GOD03219 2018. 1. 3. 09:54

#include <stdio.h>
#pragma warning(disable:4996);
void write(char *s)
{
 printf("%s\n",s);

}

int add(int x, int y){ return x+y ;}
int sub(int x, int y){ return x-y ;}
int mul(int x, int y){ return x*y ;}
int  div(int x, int y){ return x/y ;}

void main()
{
 void (*g)(char *);
 int (*f[4])(int,int);
 int x;
 int y;


 f[0]=add;
 f[1]=sub;
 f[2]=mul;
 f[3]=div;

 

 g = write;


 (*g)("hello");

 

 while(1){

  printf("What do you want?(0:add,1:sub,2.:mul,3.div)\n");
  scanf("%d",&x);
  y = (*f[x])(10,20);
  printf("result = %d", y);
  puts("\n");
 }

 

}

'C ' 카테고리의 다른 글

atoi함수  (0) 2018.01.03
typedef structure  (0) 2018.01.03
strdup함수 활용예제  (0) 2018.01.03
strdup함수 만들기  (0) 2018.01.03
strlen함수 만들기  (0) 2018.01.02