引数と関数名

プログラム例 5.2] 引数と関数名

/****************************/
/* 引数と関数名             */
/*      coded by Y.Suganuma */
/****************************/
#include <stdio.h>

int add(int s1, int s2) {
	int s = s1 + s2;
	return s;
}

int sub(int s1, int s2) {
	int s = s1 - s2;
	return s;
}

int add_sub(int (*fun)(int, int), int s1, int s2) {
	int s = fun(s1, s2);
	return s;
}

int main()
{
	printf("%d\n", add(2, 3));   // 5
	int (*kasan)(int, int) = &add;
	printf("%d\n", kasan(2, 3));   // 5
	printf("%d\n", add_sub(add, 2, 3));   // 5
	printf("%d\n", add_sub(sub, 2, 3));   // -1

	return 0;
}