很多C代码
源代码在线查看: 8-18.txt
/* 范例:8-18 */
#include
void procreation(int,void (*run)(char*,int)); /* 以函数指针为参数 */
void slow_run_shoes(char*,int);
void leisure_shoes(char*,int);
void spiked_shoes(char*,int);
void main()
{
int procreation_number; /* 生产项目代号1~3 */
int size; /* 尺寸 */
procreation_number=2;
size=8;
switch(procreation_number)
{
case 1: /* 参数行中传入函数slow_run_shoes的地址*/
procreation(size,slow_run_shoes);
break;
case 2: /* 参数行中传入函数leisure_shoes的地址 */
procreation(size,leisure_shoes);
break;
case 3: /* 参数行中传入函数spiked_shoes的地址 */
procreation(size,spiked_shoes);
break;
default:
printf("停止生产!!!\n");
}
getchar();
}
void procreation(int size,void (*run)(char* material,int size))
{
char* material; /* 质料名称 */
int material_number; /* 质料代号1~3 */
material_number=3;
switch(material_number)
{
case 1:
material="布";
break;
case 2:
material="兽皮";
break;
case 3:
material="塑料";
}
(*run)(material,size); /* 调用函数指针 */
}
void slow_run_shoes(char* material,int size)
{
printf("以质料为%s、尺寸为%d来生产慢跑鞋\n",material,size);
}
void leisure_shoes(char* material,int size)
{
printf("以质料为%s、尺寸为%d来生产休闲鞋\n",material,size);
}
void spiked_shoes(char* material,int size)
{
printf("以质料为%s、尺寸为%d来生产钉鞋\n",material,size);
}
程序执行结果:
以质料为塑料、尺寸为8来生产休闲鞋