//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

输入a, b,第一次调用process找最大值,第二次调用process找最小值,第三次调用求和。

方法1:

 #include<stdio.h>
//求最大
int max(int x,int y){
return x>y?x:y;
}
//求最小
int min(int x,int y){
return x<y?x:y;
}
//求和
int add(int x,int y){
return x+y;
}
//类似多态
void process(int x,int y,int (*fun)){
int z;
if(fun==max)
z=max(x,y);
if(fun==min)
z=min(x,y);
if(fun==add)
z=add(x,y);
printf("%d\n",z);
} void main(){
int a,b;
printf("Please input a and b:\n");
scanf("%d %d", &a, &b);
printf("max=");
process(a,b,max);
printf("min=");
process(a,b,min);
printf("sum=");
process(a,b,add);
}

方法2:

 #include<stdio.h>
//求最大
int max(int x,int y){
return x>y?x:y;
}
//求最小
int min(int x,int y){
return x<y?x:y;
}
//求和
int add(int x,int y){
return x+y;
} void main(){
int a,b;
int (*process)(int, int); printf("Please input a and b:\n");
scanf("%d %d", &a, &b); process=max;
printf("max=%d\n",process(a,b)); process=min;
printf("min=%d\n",process(a,b)); process=add;
printf("sum=%d\n",process(a,b));
}

结果为:

C语言 设一个函数process,调用它时,实现不同功能。的更多相关文章

  1. Swift2.0语言教程之函数嵌套调用形式

    Swift2.0语言教程之函数嵌套调用形式 Swift2.0语言函数嵌套调用形式 在Swift中,在函数中还能够调用函数,从而形成嵌套调用.嵌套调用的形式往往有两种:一种是在一个函数中调用其它函数:还 ...

  2. 用c语言写一个函数把十进制转换成十六进制(转)

    #include "stdio.h" int main() { int num=0;int a[100]; int i=0; int m=0;int yushu; char hex ...

  3. 解决一个通过 WebReference 调用 WCF 时自定义 DataContract 类参数提交的问题

    先看一下VS2013自动创建默认的IService1.vb,注意自定义的数据契约 CompositeType ' 注意: 使用上下文菜单上的“重命名”命令可以同时更改代码和配置文件中的接口名“ISer ...

  4. Python中将函数作为另一个函数的参数传入并调用

    在Python中,函数本身也是对象,所以可以将函数作为参数传入另一函数并进行调用 在旧版本中,可以使用apply(function, *args, **kwargs)进行调用,但是在新版本中已经移除, ...

  5. C语言中的函数

    C语言中的函数 目录 概述——对函数的理解 C语言中函数的定义和声明 函数允许的参数类型 函数允许的返回类型 递归 概述 由于有些代码段在编写程序的时候经常会用到,此时我们为了减少代码文件的长度和增加 ...

  6. JS中函数的调用和this的值

    调用每一个函数会暂停当前函数的执行,传递控制权和参数给新函数.除了声明时定义的形式参数,每个函数还接收两个附加的参数:this 和 arguments. 参数this在面向对象编程中非常重要,他的值取 ...

  7. JavaScript函数的调用模式

    我们说一个函数的调用模式是作为一个函数来调用,是要与其它三种调用模式做区分函数其他的三种调用: 方法调用模式,构造器调用模式,apply/call调用模式. 方法的调用模式: var obj={ fu ...

  8. js中如何在一个函数里面执行另一个函数

    1.js中如何在函数a里面执行函数b function a(参数c){ b(); } function b(参数c){ } 方法2: <script type="text/javasc ...

  9. js 从一个函数中传递值到另一个函数

    一个函数的调用大家都会用 我今天在调接口的时候突然发现需要引用个另一个函数中拿到的值 举个栗子 刚开始 我是这样调用的 alert弹出的是 hello world . 但是我a函数内部还有一个函数 画 ...

随机推荐

  1. Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken

    项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>.关于git,gitliab,ansible在我 ...

  2. js如何获取url参数

    匹配URL参数的正则是: var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", ...

  3. 一个简单的Code First建立

    1]从VS中建立一个mvc程序 记得添加NuGet包 然后在web.config中添加链接数据库的语句 <connectionStrings> <add name="Ent ...

  4. Python GUI

    1.flexx Flexx 是一个纯Python工具包,用来创建图形化界面应用程序.其使用 Web 技术进行界面的渲染.你可以用Flexx来创建桌面应用,同时也可以导出一个应用到独立的 HTML 文档 ...

  5. .net core部署在iis上

    部署在Windows Server 2008 R2上,一直安装失败,网上找的资料一直无法解决问题,后来找到了官方的文档, 原来是要安装sp1,大概2g左右,同时也要安装Microsoft Visual ...

  6. Nmap 命令操作详解

    首先在安装nmap 稳定版 https://nmap.org/download.html 选择安装目录 通过cmd  去使用也可以在 安装目录中找到 进行可视化操作 以下是nmap 命令 -sT TC ...

  7. Win10一周年纪念版,瞧一瞧Linux子系统

    Bash Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令.Bash还能从文件中读取命令,这样的文件称为脚本.和其他Unix shell 一样,它支持文件名替换(通配符匹配) ...

  8. Linux-bc命令(21)

    bc 命令是任意精度计算器语言,通常在linux下当计算器用. 它类似基本的计算器, 使用这个计算器可以做基本的数学运算. bc支持运算有以下几种: + - * / % :加,减,乘,除,取余 a^b ...

  9. 24.QTableView函数使用,右击菜单实现

    QTableView view(this); QStandardItemModel model(this); /*设置表头水平标题*/ model.setHorizontalHeaderItem(,n ...

  10. eclipse下svn的使用

    描述:本篇用解决下面的案例中的问题来描述eclipse svn插件的使用. a.案例 某研发团队开发了一款名为App,目前已发布v1.0版本.此项目初期已有部分基础代码, 研发团队再此基础代码上经过3 ...