【C】函数指针——定义一个函数指针数组
#include<stdio.h>
void function1(int);
void function2(int);
void function3(int);int main(){void (*f[3])(int) = {function1, function2, function3};//f是一个数组,该数组的成员都是指针变量,// 这三个指针变量都分别指向需要int参数的三个函数int choice;printf("请输入一个数,范围[0-2]:");scanf("%d",&choice);while(choice >= 0 && choice < 3){(*f[choice])(choice); //调用相应的函数//(f[choice])(choice)这种也支持printf("请输入一个数,范围[0-2]:");scanf("%d",&choice);}printf("程序运行结束");return 0;
}void function1(int choice){printf("输入了%d,运行了function1函数\n",choice);
}
void function2(int choice){printf("输入了%d,运行了function2函数\n",choice);
}
void function3(int choice){printf("输入了%d,运行了function3函数\n",choice);
}
运行结果:
D:\Clion\homework\cmake-build-debug\homework.exe
请输入一个数,范围[0-2]:0
输入了0,运行了function1函数
请输入一个数,范围[0-2]:1
输入了1,运行了function2函数
请输入一个数,范围[0-2]:2
输入了2,运行了function3函数
请输入一个数,范围[0-2]:3Process finished with exit code -1073741819 (0xC0000005)
好奇怪,并没有出现“程序运行结束”。
好吧,我知道哪里出错了。。
这是原来的,while(choice >= 0 && choice <= 3)
正确的应为,while(choice >= 0 && choice < 3)
已在源代码中改过来。
不过我刚请教了懒猫老师啊啊啊啊啊浪费了请教老师的机会!!!
【C】函数指针——定义一个函数指针数组相关推荐
- 20 Python函数、定义一个函数、参数传递、匿名函数、return语句、变量作用域、
20Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...
- python怎么定义一个函数_Python定义一个函数的方法
Python函数的定义 定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具.定义函数需要用 def 关键字实现,具体的语法格式如下: def 函数名(形参列表): //由零条到多条可执 ...
- 第三章 函数——自己定义一个函数
目录 def语句和参数 返回值和return语句 None值 关键字参数和print() print(,end='') print(,sep='') 局部和全局作用域 global语句 异常处理 第一 ...
- 定义一个二维数组,写函数来实现对该二维数组求最大值。(要求,用行指针为函数形参)
// 121219 上机任务3.cpp : 定义控制台应用程序的入口点. // /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * ...
- C语言:定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值。(要求使用指针做)
[问题描述]定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值.(要求使用指针做) ...
- C++如何定义一个函数指针
首先给出一个函数 int function(int a) {return a; } 一.定义一个函数指针 int (*fun)(int a); // 赋值 fun = function; // 使用 ...
- c语言 返回函数是结构体指针变量,一个函数返回值为指向结构体的指针的问题...
一个函数返回值为指向结构体的指针的问题 #include #include struct student { int num; char name[10]; struct student *next; ...
- C语言:使用指针,封装一个函数, // 使输入的奇数从小到大排列,奇数排列完毕之后,再把偶数从大到小进行排列, // 最终输出整个
// 使用指针,封装一个函数, // 使输入的奇数从小到大排列,奇数排列完毕之后,再把偶数从大到小进行排列, // 最终输出整个 #include <stdio.h> void Jopai ...
- 算法训练 - P1101 ——有一份提货单,其数据项目有:商品名(MC)、单价(DJ)、数量(SL)。定义一个结构体prut,其成员是上面的三项数据。在主函数中定义一个prut类型的结构体数组,输入每
问题描述 有一份提货单,其数据项目有:商品名(MC).单价(DJ).数量(SL).定义一个结构体prut,其成员是上面的三项数据.在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输 ...
最新文章
- 需要反射时使用dynamic
- Oracle的基本操作(一:子查询与常用函数)
- 零基础入门学习Python(18)-全局变量与局部变量
- WEBAPI 帖子收藏
- python中的__new__与__init__,新式类和经典类(2.x)
- 51nod 1021 石子归并 (动态规划 简单代码)
- 小姐姐为你解析马爸爸是怎么用大数据“宰你”的
- python3线程gil_python3爬虫GIL修改多线程实例讲解
- redis实践的一点思路,关于支付回调
- JS中自动执行函数小结
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(52)-美化EasyUI皮肤和图标
- 微信找不到nfc功能_手机的NFC如何使用?3分钟教会你!
- SPQuery如何消除重复记录(实现联动性)
- 如何更新一台计算机的驱动程序,怎样更新电脑最新驱动程序? -电脑资料
- ad15的stc元件库_STC8系列 STC15系列STCMCU Protel_Altium原理图PCB器件封装库文件
- 数据库-SQL语句创建与修改
- 红米note2卡在android,红米note2怎么插卡?红米note2插卡流程详解
- 索引的底层实现原理是什么?
- 软件开发流程与项目管理
- 捞王二闯IPO,谁是“火锅第三股“?||Review
热门文章
- 帮我列举下医疗器械行业的公司,要最厉害的。
- 苹果cms开启vip会员收费权限教程
- caffe 处理数据集相关代码
- v70.05 鸿蒙内核源码分析(管道文件) | 如何降低数据流动成本 | 百篇博客分析OpenHarmony源码
- Docker: 小白之路一(Ubuntu16.04安装篇)
- 《第一堂棒球课》:王牌游击手·棒球6号位
- 【MongoDB】索引之复合索引
- Illustrator教你如果画人物插画
- React Native跨平台开发学习笔记
- airbnb数据_Airbnb的数据驱动故事