指向函数的指针作为参数时的使用方法
2014-03-27 21:25
549 查看
谭教授说,指向函数的指针作为参数是C语言实际应用中的一个比较深入的部分,那就等以后用到了,做个参考吧。
#include <stdio.h> void min(int a,int b); void max(int a,int b); void add(int a,int b); void fun(int a,int b,void (*p)(int x,int y)); int main() { int a,b,n,k=5,flag=1; while(k--) { flag=1; printf("Enter two numbers: "); scanf("%d %d",&a,&b); while(flag==1) { printf("Do you want to 1(max) or 2(min) or 3(add) with the two numbers? "); scanf("%d",&n); switch(n) { case 1: fun(a,b,max); flag=0; break; case 2: fun(a,b,min); flag=0; break; case 3: fun(a,b,add); flag=0; break; default: printf("Wrong input ,please enter again: \n"); } } } return 0; } void min(int a,int b) { printf("min=%d\n",a>b?b:a); } void max(int a,int b) { printf("max=%d\n",a>b?a:b); } void add(int a,int b) { printf("add is %d\n",a+b); } void fun(int a,int b,void(*p)(int x,int y)) { (*p)(a,b); }
相关文章推荐
- shell 使用数组作为函数参数的方法
- 如何正确使用指针(指针作为输出型参数)与结构体指针作为函数参数
- error C3867: “Point::getX”: 函数调用缺少参数列表;请使用“&Point::getX”创建指向成员的指针
- 函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”--多线程函数调用
- shell 使用数组作为函数参数的方法(详解)
- “error C3867: “XXX”: 函数调用缺少参数列表;请使用“&XXX”创建指向成员的指针”的错误
- C-函数间接作为函数参数:指向函数的指针
- 正确使用指针(指针作为输出型参数)与结构体指针作为函数参数
- static函数 函数调用缺少参数列表;请使用“&XXX”创建指向成员的指针;类的static成员函数
- error C3867: “A::fun1”: 函数调用缺少参数列表;请使用“&A::fun1”创建指向成员的指针
- GoLang数组初始使用方法以及作为函数参数(1)
- 使用指针作为函数返回值和参数的问题总结
- 指向函数的指针数组的使用方法
- c语言_函数指针作为函数参数的使用
- “error C3867: “XXX”: 函数调用缺少参数列表;请使用“&XXX”创建指向成员的指针”的错误
- 漫谈C指针第十八讲---函数指针作为函数参数使用
- “Caculate::writehtml”: 函数调用缺少参数列表;请使用“&Caculate::writehtml”创建指向成员的指针
- 指针参数在函数中不能改变指针指向的原因和解决方法
- 函数调用缺少参数列表;请使用“&Student::Printf”创建指向成员的指针 问题解析
- 《IOS_C语言》高级指针(结构体指针、结构体数组指针、结构体数组指针,作为函数的参数使用、预编译指令)