68.5 심사문제: 반환값과 매개변수가 있는 함수 포인터 만들기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int add(int *a, int *b)
{
return *a + *b;
}
int sub(int *a, int *b)
{
return *a - *b;
}
int mul(int *a, int *b)
{
return *a * *b;
}
int div(int *a, int *b)
{
return *a / *b;
}
int main()
{
char funcName[10];
int num1, num2;
scanf("%s %d %d", funcName, &num1, &num2);
int (*fp)(int*, int*) = NULL;
if (strcmp(funcName, "add") == 0) // 일치할 경우 해당 함수를 실행합니다
{
fp = add;
}
else if (strcmp(funcName, "sub") == 0)
{
fp = sub;
}else if (strcmp(funcName, "mul") == 0)
{
fp = mul;
}else if (strcmp(funcName, "div") == 0)
{
fp = div;
}
printf("%d\n", fp(&num1, &num2));
return 0;
}
'C_study' 카테고리의 다른 글
[C] 코딩도장 70 : 파일에서 문자열을 읽고 쓰기 (0) | 2021.08.18 |
---|---|
[C] 코딩도장 69 : 함수 포인터 사용하기 (0) | 2021.08.16 |
[C] 코딩도장 67 : 함수에서 재귀호출 사용하기 (0) | 2021.08.14 |
[C] 코딩도장 66 : 함수에서 가변 인자 사용하기 (0) | 2021.08.13 |
[C] 코딩도장 65 : 함수에서 구조체 매개변수 사용하기 (0) | 2021.08.11 |